Private Sub Alim_Combo()
Dim Cell As Range, i As Long, j As Long, k As Byte
Dim Tablo(), Temp, TabCol
TabCol = Array(1, 2, 3, 4, 5, 7, 13)
On Error Resume Next
For k = 0 To UBound(TabCol) '1 s'il y en a qu'une
Set Sptd = CreateObject("Scripting.Dictionary")
With Sheets("Data")
For Each Cell In .Range(.Cells(10, TabCol(k)), .Cells(.Cells(65536, TabCol(k)).End(xlUp).Row, TabCol(k)))
If Not Sptd.Exists(Cell.Value) Then Sptd.Add Cell.Value, Cell.Value
Next
Tablo = Sptd.items
For i = LBound(Tablo) To UBound(Tablo)
For j = LBound(Tablo) To UBound(Tablo)
If Tablo(i) < Tablo(j) Then
Temp = Tablo(i)
Tablo(i) = Tablo(j)
Tablo(j) = Temp
End If
Next j
Next i
End With
Controls("Cbx" & k + 1).List = Tablo
Set Sptd = Nothing
Erase Tablo
Next
End Sub