Private Sub obG2()
Dim col As Variant
Dim dico As Object
Dim tbl As Variant
Dim I As Variant
Dim j As Variant
Dim temp As Variant
Dim Plage As Range, DerLig As Long
UserForm1.ComboBox1.Clear
col = IIf(UserForm1.OptionButton3.Value = True, 1, 2)
With Sheets("Feuil1")
'** on définie la plage totale des données
'** et on les trie selon la colonne col ville ou département
DerLig = .Range("A" & Rows.Count).End(xlUp).Row
Set Plage = .Range("A1:H" & DerLig)
Plage.Sort Key1:=Cells(1, col), Order1:=xlAscending, Header:=xlGuess
'**************
Set pl = .Range(.Cells(2, col), .Cells(DerLig, col))
End With
Set dico = CreateObject("scripting.dictionary")
For Each cel In pl
dico(cel.Value) = ""
Next cel
UserForm1.ComboBox1.List = dico.keys
End Sub