Re : Chargement et déchargement listbox
À mon humble avis, 9 chances sur 10 que ce soit lié au DtPicker. plutôt risques
Mon bon Si... c'est un peu le verre à moitié vide ou à moitié plein
😉 il y avait 9
chances sur 10 que l'explication soit la bonne ... c'est pas de chance pour le DTPicker
😛
@flo189: tu as un peu de mal à suivre ... mais pour quelle partie des explications? Tout??? Ou seulement une partie?
😱
Dans son code, "
thebenoit le bruxellois" utilise un objet "dictionary". Pour alimenter cet objet (en garnir les clés), il passe par une boucle For. Cette boucle commence à 4 et se poursuit jusqu'à la valeur d'une variable lL. Dans ton dernier fichier (je suppose que c'est 3 fois le même: je n'ai pas vérifié), la boucle devrait aller de 4 à 13 (pour parcourir toutes les lignes de la feuille Stock)
Le problème, expliquais-je précédemment, est que cette variable lL vaut 0 (au lieu de 13).
La boucle For s'exécute donc de 4 à ... 0! Elle a donc fini de s'exécuter avant d'avoir véritablement commencé. Il faut donc trouver pourquoi lL vaut 0 au lieu de 13.
On trouve un "
lL = Range("a65000").End(xlUp).Row" dans la
Sub Bouton1_Cliquer() qui figure dans le Module 5. Lorsqu'on clique sur bouton1, c'est la procédure test qui est exécutée!
Si cette l'instruction affectant une valeur à lL ne s'exécute pas avant le moment où ton UserForm s'affiche, la variable lL n'est pas initialisée et vaut donc 0, la boucle ne s'exécute pas, le "dictionary" est vide et donc la liste ne peut être "garnie".
Me suis-tu mieux?
En conclusion, c'est au clic sur un des "bouton2" (sortie stock) que ton UserForm s'affiche. c'est donc là qu'il faut déplacer la fameuse ligne commençant pas
lL=Range(etc.
Est-ce mieux encore?
PS: il n'est pas nécessaire d'activer la feuille stock avant cette instruction, si on l'écrit de cette manière:
lL = Worksheets("Stock").Range("A65000").End(xlUp).Row
C'est malin, j'ai soif, maintenant!
🙄