Private Sub UserForm_Initialize()
Dim TabTemp As Variant
Dim Purge As New Collection
Dim Pointeur As Long, L As Long
'Charger les données dans un tableau variant temporaire
With Sheets('Maintenances')
L = .Range('A65536').End(xlUp).Row
TabTemp = .Range(.Cells(2, 1), .Cells(L, 1)).Value
End With
'Récupérer les données (sans doublons)
On Error Resume Next
For L = 1 To UBound(TabTemp, 1)
Purge.Add TabTemp(L, 1), CStr(TabTemp(L, 1))
If Purge.Count <> Pointeur Then
ListBox1.AddItem Purge(Purge.Count)
End If
Pointeur = Purge.Count
Next L
On Error GoTo 0
End Sub