Private Sub UserForm_Initialize()
Dim d As Object, i&
With Feuil1 'CodeName de la feuille
t = .Range("A2:AC" & .Range("A" & .Rows.Count).End(xlUp)(2).Row)
.[C1,G1,J1,L1,M1,Q1,S1,N1,AC1].EntireColumn.AutoFit 'ajustement automatique
ListBox1.ColumnWidths = .Columns(3).Width & ";" & .Columns(7).Width & ";" _
& .Columns(10).Width & ";" & .Columns(12).Width & ";" _
& .Columns(13).Width & ";" & .Columns(17).Width & ";" _
& .Columns(19).Width & ";" & .Columns(14).Width & ";" & .Columns(29).Width
End With
Set d = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(t)
If t(i, 2) <> "" Then d(t(i, 2)) = ""
Next
If d.Count Then ComboBox1.List = d.keys
End Sub