Bonjour,
Fonction perso à coller dans un module
Public Function CCUNIQUE(Plage As Range, Arg1 As String, Arg2 As String, Arg3 As String)
Application.Volatile
On Error GoTo CCUNIQUEErreur
Dim N As Long
Dim Compteur As Long
Dim Ligne As String
Dim Valeur As String
Dim NombreDeValeursUniques As Long
Dim ValeursUniques() As String
N = 0
Compteur = 0
Ligne = ""
Valeur = ""
NombreDeValeursUniques = 0
N = Plage.Count
ReDim ValeursUniques(0 To N)
If (N > 0) Then
For Compteur = 1 To N
Valeur = CStr(Plage.Cells(Compteur).Value)
If Valeur <> Arg1 And Valeur <> Arg2 And Valeur <> Arg3 Then
If (Not (InStr(1, Ligne, Valeur, vbBinaryCompare) > 0)) Then
Ligne = Ligne & ("[" & Valeur & "]")
NombreDeValeursUniques = NombreDeValeursUniques + 1
ValeursUniques(NombreDeValeursUniques) = Valeur
End If
End If
Next Compteur
End If
CCUNIQUE = NombreDeValeursUniques
Exit Function
CCUNIQUEErreur:
MsgBox "Une erreur s'est produite..."
CCUNIQUE = 0
End Function