Public Function TriSansDoublon(zone As Range) As Variant()
Dim monDico As Object, laCell As Range, i As Long, j As Long, tmpS As String, tmpT() As Variant
Set monDico = CreateObject("Scripting.Dictionary")
On Error Resume Next
For Each laCell In zone.Cells
If laCell.Text <> "" Then monDico.Add laCell.Text, laCell.Text
Next laCell
On Error GoTo 0
tmpT = monDico.Items
For i = LBound(tmpT) To UBound(tmpT) - 1
For j = i + 1 To UBound(tmpT)
If tmpT(i) > tmpT(j) Then
tmpS = tmpT(i)
tmpT(i) = tmpT(j)
tmpT(j) = tmpS
End If
Next j
Next i
TriSansDoublon = tmpT
End Function