ListBox : Initialize, Hide, Unload
Bonjour tout le monde !
J'ai un problème avec une userform. La procédure qui suit ne fonctionne pas : elle ne génère pas d'erreur mais pas de résultat non plus... Pour avoir fait différents tests, je sais que "cel.CurrentRegion" fait référence à la bonne plage et "cel.Rows.CurrentRegion.Count - 1" renvoit le bon chiffre. Mais la procédure n'affiche même pas le résultat de la MsgBox. Je crois que le problème vient de l'évènement "Initialize"; peut-être que je l'utilise mal ? Je veux que ces instructions s'effectuent lorsque l'on ouvre la boite de dialogue avec "UserForm3.Show".
Code:
1 2 3 4 5 6 7 8 9 10 11
| Private Sub UserForm_Initialize()
'A l'ouverture de la boite de dialogue on réinitialize la zone de liste
Dim i As Integer
Dim cel As Range
Set cel = ThisWorkbook.Worksheets("Min & Max").Range("B183")
MsgBox cel.CurrentRegion.Rows.Count - 1
For i = 0 To cel.Rows.CurrentRegion.Count - 1
UserForm3.ListBox1.Clear
UserForm3.ListBox1.AddItem cel.Offset(i, 0).Value
Next i
End Sub |
J'ai également une autre petite question à propos de la différence entre Hide et Unload : ces deux évènements ferment tous les deux la boite de dialogue mais Hide garde en mémoire les infos associées comme les valeurs qui remplissaient la listbox et on les retrouvera lors de la prochaine ouverture, contrairement à Unload qui ne garde rien en mémoire ? Est-ce bien cela ? Je voudrais être sur d'avoir bien compris...