Problème fonction MatchEntry

rhj94

XLDnaute Nouveau
Bonjour à tous :)

Je suis actuellement en train de m'entrainer sur la fonction MatchEntry, et celle-ci me pose quelque peu problème.

En fait, je cherche à faire en sorte que mon userform puisse filtrer des données avec des combobox "liés" entre elles.

Je m'explique : Par exemple, en ouvrant mon userform, je sélectionne la lettre E pour mon premier combobox, et celà va automatiquement afficher les lignes de mon ficher comportant la lettre E. Pour le second combobox, celà m'affiche sans doublons, les couleurs dont la première colonne comporte la lettre E.

A partir de là, si je sélectionne la lettre E, puis la couleur Jaune par exemple, je n'ai plus que 4 noms qui s'affichent : Kenny, Kyle, Marsh et Randy.

Or, lorsque je veux sélectionner l'un de ces 4 noms dans mon troisième combobox, je me retrouve avec 11 noms, comme si cette troisième combobox n'était pas liée avec la précédente.

Comment dois-je m'y prendre ?

Merci pour votre aide (le fichier est en pièce jointe)
 

Pièces jointes

  • Copie test.zip
    32.9 KB · Affichages: 34
  • Copie test.zip
    32.9 KB · Affichages: 33
  • Copie test.zip
    32.9 KB · Affichages: 35

Dranreb

XLDnaute Barbatruc
Re : Problème fonction MatchEntry

Pourriez vous le joindre au format .xls s'il vous plait.
J'ai toujours de très gros problèmes dans les classeurs issus du convertisseur dès lors qu'il y a des contrôles installés dans une feuille (il dit qu'il ne peut pas sortir du mode création, des CodeName de feuilles ne sont pas reconnus etc.)

Sinon c'est fait, dans le classeur que vous avez joint, mais même après avoir supprimé les deux boutons qui étaient à moitié restés de simples Shape, je n'arrive toujours pas à le tester.

Bon. J'ai tout copié dans un nouveau classeur.

Remarque; je mets toujours la propriété MatchEntry des ComboBox sur 1 - fmMatchEntryComplete.
Je ne vois pas ce que ça apporte de mettre autre chose.

Et style sur 0 - fmStyleDropDownCombo. D'ailleurs mes modules de classes ComboBoxCasc et ComboBoxLiés ne supportent pas l'autre car affecter un text à leur propriété Text peut alors entrainer une erreur.
Par contre MatchRequired devrait être à True dans votre cas, et mes modules en tiendraient compte en effaçant les choix anciens qui ne seraient plus compatibles avec les nouveaux de ceux des ComboBox en amont.

J'ai aussi mis le module ComboBoxLiés, au cas où il pourrait vous servir dans une autre application, mais il n'est pas utilisé ici.

Attention: j'ai vu un danger potentiel: votre userform est affiché non modal, ce qui autorise des modifications directe dans la liste.
Il serait impératif de prévenir l'Userform chargé de tout changement au moyen d'une procédure Public dedans qui exécuterait un CBC.Actualiser s'il a sa propriété Visible à True. Si elle est à False cela pourrait se différer jusqu'à sa réactivation (Userform_Activate). Un second problème est représenté par l'éventualité d'un ajout de ligne en dessous de la plage annoncée au CBC.Plage
 

Pièces jointes

  • CbxCascRhj94.xls
    212.5 KB · Affichages: 39
Dernière édition:

rhj94

XLDnaute Nouveau
Re : Problème fonction MatchEntry

Merci beaucoup Dranreb :D ,

Je pense que ton fichier à même anticipé une question que j'allais poser pour savoir s'il était possible de compléter les combobox liés dans un ordre quelconque, et il semblerait que oui.

Je vais me pencher sur la question, je reviens vers toi si ça deviens trop pointu :p
 

Pièces jointes

  • Test matchentry opé.xls
    69.5 KB · Affichages: 44

rhj94

XLDnaute Nouveau
Re : Problème fonction MatchEntry

Bon évidemment j'ai pas su m'en servir.

Je voulais te demander, si je souhaite faire en sorte de compléter les combobox liés dans un ordre quelconque, je dois copier les modules de classes ? Ce sont des modules génériques à coller tels quels, ou alors je dois les adapter ?

Désolé pour ces questions, je suis plus que débutant :p
 

Dranreb

XLDnaute Barbatruc
Re : Problème fonction MatchEntry

Bonjour.
Dans tout projet VBA où l'on veut pouvoir utiliser un type d'objet donné, il faut naturellement veillez à ce que sa définition y soit connue, modules de classes nécessaires et références nécessaires cochées. Je me réserve l'exclusivité de les adapter. Normalement il n'y a rien à adapter d'autre que la faible quantité de programmation les concernant, dans les Userform.

Joignez ce que vous avez essayé. En gros il ne devrait guère y avoir d'autres modif que de changer ComboBoxCasc en ComboBoxLiés, puisque les évènements Bingo et Défait y sont aussi prévus, quoique contrairement à ComboBoxCasc ils y sont présentés comme évènements secondaires pour utilisation simplifiée. Après ça dépend de ce que vous voulez faire.
Il serait aussi logique de remplacer partout CBC par CBL (ou autre chose qui vous parlerait mieux ?) mais ce n'est pas indispensable pour que ça marche.
 
Dernière édition:

rhj94

XLDnaute Nouveau
Re : Problème fonction MatchEntry

Re-Bonjour,

J'ai bien modifié CBC par CBL, et tout a bien fonctionné, c'est exactement ce que je voulais faire !!

Merci beaucoup pour votre aide et pour le temps que vous m'avez accordé :)

Longue vie à Dranreb !! :p
 

Discussions similaires

Réponses
5
Affichages
214

Statistiques des forums

Discussions
312 242
Messages
2 086 532
Membres
103 243
dernier inscrit
SAH