Comme je te l'ai indiqué précédemment, il s'agit d'une fonction personnalisée, c'est à dire une fonction créée avec VBA.
Pour visualiser le code,
alt + F11 pour ouvrir l'éditeur,
ctrl + R pour ouvrir l’explorateur de projets.
La fonction se trouve sous Modules/ Module1.
Function Nb_Valeurs(Plage As Range) As Long
Dim Dico
Dim Cel As Range
Dim n As Long
Set Dico = CreateObject("Scripting.Dictionary")
For Each Cel In Plage
If Not Dico.Exists(Cel.Value) And Cel.Value <> "" And Not (Cel.Value Like "*Matricule*") Then
Dico.Add Cel.Value, Cel.Value
n = n + 1
End If
Next Cel
Nb_Valeurs = n
End Function
L'objet "dictionnaire" utilisé par la fonction permet d'obtenir une liste sans doublon.
Les éléments du dictionnaire étant uniques, on peut incrémenter un compteur chaque fois qu'un élément est ajouté et obtenir ainsi le nombre d'éléments uniques. Pour éviter de compter les cellules vides et celles qui contiennent "Matricule", il suffit d'ajouter un critère d'exclusion.
Pour utiliser cette fonction avec plusieurs classeurs, il faut créer un complément afin qu'elle soit disponible dès l'ouverture de l'application.
A+