Option Explicit
Private Sub ComboBox1_Click()
Worksheets("Feuil1").Range("A1").Value = ComboBox1.Value
End Sub
Private Sub UserForm_Initialize()
Dim dico As Object, c As Range, l As Integer, k(), i()
With ComboBox1
.ColumnCount = 2
.ColumnWidths = "20;0"
.BoundColumn = 2
End With
With Sheets("Feuil1")
Set dico = CreateObject("Scripting.Dictionary")
For Each c In Range("J5:J" & [J65536].End(xlUp).Row)
If Not dico.Exists(c.Value) And c.Value <> "" Then _
dico.Add c.Value, c.Text
Next
k = dico.keys
i = dico.items
For l = 0 To dico.Count - 1
ComboBox1.AddItem i(l)
ComboBox1.List(l, 1) = k(l)
Next l
End With
End Sub