Bonjour
je ne comprends pas cette manipulation
Une macro ‘’Initialize’’ a pour intérêt de s’exécuter avant même que l’userForm auquel elle correspond ne s’affiche.
C’est donc bien dans cette macro que je dois mettre le code qui va me remplir la listbox1 de l’userform1 lorsque j’aurai cliqué sur le bouton Valider de l’userform ‘’SouffleuseMoule’’.
Et pour que l’affichage soit le plus rapide possible, j’utilise une variable ‘’tableau’’, que j’appelle ‘’tablo’’ et qui d’un coup me met en mémoire vive tout le tableau de la feuille ‘’Nouvelle Action’’. C’est la 2° instruction de la macro :
tablo = fna.Range("A1:H" & fna.Range("A" & Rows.Count).End(xlUp).Row)
Ensuite, une boucle passe toutes les lignes de ce tablo et, si les conditions imposées par l’userform ‘’SouffleuseMoule’’ sont remplies, elle ajoute la ligne à la listbox1 de ‘’Userform1’’ qui n’est pas encore affiché.
SouffleuseMoule.Combobox2 * 1 ? => à quoi sert le *1?
SouffleuseMoule.Combobox2 donne un nombre au format texte. En le multipliant par 1, on contraint VBA à le considérer comme un nombre. Ce qui est nécessaire pour le comparer avec les valeurs de la variable tablo qui elle contient bien de vrais nombres.
OK ?
Bye !