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".
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...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager