Function SansDoublonsCritère(champ As Range, champCritère As Range, critère)
Set mondico = CreateObject("Scripting.Dictionary")
temp = champ
temp2 = champCritère
crit = critère
For i = LBound(temp, 1) To UBound(temp, 1)
If Not mondico.Exists(temp(i, 1)) And temp(i, 1) <> "" And UCase(temp2(i, 1)) = UCase(crit) Then
mondico.Add temp(i, 1), temp(i, 1)
End If
Next i
Dim b()
ReDim b(1 To Application.Caller.Rows.Count)
i = 1
For Each c In mondico.items
b(i) = c
i = i + 1
Next
SansDoublonsCritère = Application.Transpose(b)
End Function