corloste
XLDnaute Nouveau
Bonjour,
J'ai un souci avec une macro chargée de filtrer et nettoyer des listbox si la valeur qui y est inscrite est une certaine donnée.
Comme vous pourrez le voir dans la pièce jointe, mon fichier effectue une recherche selon les bases de données en Feuil 2 et 3. On saisit en Texbox 1 et la sélection de la Listbox 1 permet de renvoyer les réponses relatives à ces bases de données en Listbox 2 et 3.
Prenons les résultats de la listbox 2, qui nous intéressent dans ce cas. Lorsqu'on clique sur une valeur de la listbox 2 un Userform (1) s'affiche afin de présenter une synthèse de la base de données.
Or dans la base de données qui est remplie par plusieurs personnes, et afin de leur indiquer qu'une cellule doit se remplir par un menu déroulant, cet item est inscrit dans la cellule. Donc forcément lorsqu'on importe les données l'item "Menu déroulant" est aussi importé.
J'ai donc créé une petite macro, qui à la suite du remplissage de l'userform 1, sélectionne les listbox, et avec un If/then/Else si la case contient "Menu déroulant", la macro vide la listbox sinon elle désélectionne la listbox.
Ce qui m'étonne c'est que le code fonctionne de manière quasi aléatoire, et donc pas pour toutes les listbox que j'ai prévu de nettoyer. Des fois ça l'enlève bien dans certaines Listbox et pas dans les autres et des fois, ça marche pour d'autres listbox et pas dans celles pour qui ça fonctionnait avant. Un vrai mystère...
Qu'est-ce que j'ai pu louper ?
J'ai un souci avec une macro chargée de filtrer et nettoyer des listbox si la valeur qui y est inscrite est une certaine donnée.
Comme vous pourrez le voir dans la pièce jointe, mon fichier effectue une recherche selon les bases de données en Feuil 2 et 3. On saisit en Texbox 1 et la sélection de la Listbox 1 permet de renvoyer les réponses relatives à ces bases de données en Listbox 2 et 3.
Prenons les résultats de la listbox 2, qui nous intéressent dans ce cas. Lorsqu'on clique sur une valeur de la listbox 2 un Userform (1) s'affiche afin de présenter une synthèse de la base de données.
Or dans la base de données qui est remplie par plusieurs personnes, et afin de leur indiquer qu'une cellule doit se remplir par un menu déroulant, cet item est inscrit dans la cellule. Donc forcément lorsqu'on importe les données l'item "Menu déroulant" est aussi importé.
J'ai donc créé une petite macro, qui à la suite du remplissage de l'userform 1, sélectionne les listbox, et avec un If/then/Else si la case contient "Menu déroulant", la macro vide la listbox sinon elle désélectionne la listbox.
Ce qui m'étonne c'est que le code fonctionne de manière quasi aléatoire, et donc pas pour toutes les listbox que j'ai prévu de nettoyer. Des fois ça l'enlève bien dans certaines Listbox et pas dans les autres et des fois, ça marche pour d'autres listbox et pas dans celles pour qui ça fonctionnait avant. Un vrai mystère...
Qu'est-ce que j'ai pu louper ?
Pièces jointes
Dernière édition: