Bonsoir le fil, bonsoir le forum
Voyons d'abord ce qui cloche dans ton code :
Private Sub CommandButton2_Click()
Dim Plage As Range, lacellule As Range, i As Integer, z As Integer
ZLEtudiant.Clear
i = 1
Plage = ActiveWorkbook.Worksheets("Liste").Range("A1:a52")
For Each lacellule In Plage
For i = 1 To 52
ZLEtudiant.AddItem Plage
Next i
Next
End Sub
• première erreur : Plage = ... qui devrait être Set Plage = ...
• Ensuite deux boucles For Each... Next et For i = 1 to 52... Next i
C'est soit l'une soit l'autre !
For Each lacellule In Plage
ZLEtudiant.AddItem lacellule
Next lacellule
ou
For i = 1 to 52
ZLEtudiant.AddItem sheets("Liste").Cells(i, 1).Value
Next i
Ton code modifié donnerait :
Private Sub CommandButton2_Click()
Dim Plage As Range, lacellule As Range
ZLEtudiant.Clear
Plage = Worksheets("Liste").Range("A1:A52")
For Each lacellule In Plage
ZLEtudiant.AddItem Plage
Next lacellule
End Sub
ou l'autre boucle...
mais, pour éviter lers cellules vides, je ferais plutôt comme ça (None so far du même d'ailleurs)
Private Sub CommandButton2_Click()
Dim L As Worksheet
Dim DL As Integer
Set L = Worksheets("Liste")
DL = L.Range("A" & Application.Rows.Count).End(xlUp).Row
ZLEtudiant.List = L.Range("A1:A" & DL).Value
End Sub