Private Sub UserForm_Activate()
Dim Plage As Range
Dim i As Byte, j As Byte
Set Plage = Range("A2:A" & Range("Liste!A2").End(xlDown).Row)
' Plage de données pour afficher dans liste déroulante
ListBox1.List = Plage.Value
With ListBox1
For i = 0 To .ListCount - 1
For j = 0 To .ListCount - 1
If UCase(.List(i)) < UCase(.List(j)) Then
temp = .List(j)
.List(j) = .List(i)
.List(i) = temp
End If
Next j
Next i
End With
End Sub