Bonjour,
Dans le cadre d'un filtrage en cascade d'un tableau via plusieurs combobox dans un formulaire, je dois faire remonter les valeurs de certaines colonnes d'une feuille dans ces combobox, au fur et à mesure des sélections successives. Par exemple la sélection la plus large conditionne les valeurs dans la combobox suivante et ainsi de suite. Pour avoir un temps d'exécution rapide, j'ai choisi de dédoublonner les valeurs via des new collections. Je charge ensuite ces new collections dans une variable tableau, avant de charger celle-ci dans une combobox.
Pour le déclenchement du résultat, j'ai choisi l'événement "afterupdate".
Mon problème m'est apparu de la façon suivante :
Après 2 sélections successives dans 2 combobox contenant relativement peu de valeurs et fonctionnant apparemment sans problème, j'arrive à une troisième combobox contenant plus de valeurs (20-30). Et là, le problème commence : je me suis rendu compte que certaines sélections n'affichent pas le bon résultat dans une 4ème combobox en aval.
Après examen du code, je me suis rendu compte que la new collection correspondant à la troisième combobox fonctionne aléatoirement. Si par exemple je fais plusieurs choix successifs (les uns après les autres sans fermer le formulaire) dans cette même combobox, la new collection fonctionne dans le 1er choix, mais pas dans le second, ni dans le 4ème. Dans les cas de non-fonctionnement, elle ne prend pas toutes les lignes visibles des lignes filtrées, mais seulement les 3 ou 4 premières, ce qui bien sûr, fausse complètement le résultat dans la combobox en aval.
Ce qui complique, c'est que si je ferme le formulaire, puis le réouvre, et choisit directement (en premier) un item dans la combobox no 3, avec qui la new collection ne fonctionnait pas si on le choisissait en 2ème ou 4ème position, cet item se met à fonctionner.
Dans le code, le problème se manifeste en premier par le count de la new collection, qui affiche une valeur inférieure au nombre de lignes filtrées. Je suis sûr que le filtre fonctionne, puisque je le vois fonctionner derrière le formulaire, qui, pour l'instant, est de taille modeste.
J'ai vérifié le code en amont de la new collection, et n'ai pas décelé de problème.
Quelqu'un peut-il m'aider ?
Cordialement,
Serge_BDD
Partager