Re : faire un tri préalable à l'affichage dans un Combobox
Bonjour.
Mais si, mais c'est nouveau, alors c'est difficile à combiner correctement tout ça. Pour moi aussi ça sort un peu des sentiers battus.
Là, tout de suite, je tombe sur une erreur bête dans l'Userform_Initialize: une affectation des clés d'un dictionnaire (probablement correctement construit, lui), ce qui est un tableau et non un Dictionary, à un objet de type Dictionary. Et dans un Set ça fait comme "Incompatibilité de type" sauf que le message est "Objet requis" si l'expression qu'on tente d'affecter n'en est pas un. Je vais enlever ce ".Keys" au bout et continuer par F5, mais pour tout vous dire j'ai déjà l'esprit ailleurs…
Comment ça :
J'ai essayé de d'inversé les choses pour retomber sur mes pates
Ah mais je crois comprendre: en fait la colonne C de PlgMat et la colonne G de PlgNom sont un critère de sélection mutuelle et réciproque entre les deux ?!. Essayons de faire cela "en stéréo", je veux dire de façon symétrique, dans un seul Userform, voulez vous ?
C'est bien d'essayer de vous en sortir un max tout seul, tous les demandeurs ne sont pas comme vous, loin de là, mais là vous auriez dû m'en parler plus tôt !
On devrait pouvoir s'en sortir avec 6 Dicionary, en s'inspirant un tout petit peu de la façon de procéder de ComboBoxLiés et de ComboBoxCasc: 2 globaux à 1 niveau, 2 à 2 niveaux, le 1èr étant le critère commun, et 2 momentanés dont les clés seront systématiquement les List des Combobox. Lorsqu'un ComboBox change et que sont ListIndex vaut -1, on affecte au DicoTemp de l'autre son dictionnaire global et de toute façon toujours aussitôt les clés de ce DicoTemp à son List. Si le ListIndex est > -1 on fait pareil sauf qu'on affecte à son DicoTemp le sous dictionnaire attaché à la valeur du critère commun dans son Dico à 2 niveaux. Vous voyez ce que je veux dire ? Je vais entreprendre de l'écrire de mon coté.
À +