[Retour à l'accueil]

Présentation et utilisation de la fonction "NbValUniques"

La foncion "NbValUniques" permet de compter le nombre de valeur unique dans une plage donnée
Pour utiliser la fonction dans une formule du tableur Excel rien de plus simple :
=NbValUniques(plage)
Exemple:
=NbValUniques(A1:A10)
Ainsi pour les valeurs suivantes :

A
1 Jerome
2 Jerome
3 Toto
4 Michel
5 Toto
6 Jacques
7 Jerome
8 Louis
9 Toto
10 Arlette
La fonction NbValUniques retournera la valeur 6

Mise en place de la fonction "NbValUniques"

Cette fonction n'est pas une fonction fournie à la base avec Excel, il faut l'ajouter soit même.
C'est ce que je vais expliquer ici !

Créé un nouveau document Excel (sans l'enregistrer sur le disque dur) et appuyez sur les touches ALT + F11.
Une nouvelle fenêtre du nom de "Microsoft Visual Basic" vient de s'ouvrir, c'est ici qu'il faudra ajouter la nouvelle fonction.
Pour cela, il faut tout d'abord créer un nouveau module : Menu Insertion > Module
Une page blanche s'ouvre au milieu de la fenêtre (le 2 rouge de l'image suivante).


Dans un premier temps, il faut modifier le nom du module, pour cela, modifier la case "Name" (cadre 1 en vert), mettez la valeur "NbValUniques" à la place de "Module1".

Voila le module est créé, il faut maintenant ajouter la fonction et la rendre accessible dans un classeur Excel, c'est parti !

Dans le cadre 2 (en rouge) sur l'image, on peut y ajouter du code (langage de programmation), ici je fourni le code de la fonction NbValUniques que vous devez copier dans le cadre 2 :
Function NbValUniques(laPlage As Range)
  Dim ValeursUniques As New Collection
  On Error Resume Next

  For Each cell In laPlage
    If Not cell.EntireRow.Hidden Then
     ValeursUniques.Add cell.Value, CStr(cell.Value)
    End If
  Next cell

  On Error GoTo 0

  NbValUniques = ValeursUniques.Count
End Function

Une fois le code copié, il faut enregistrer le module : Menu Fichier > Enregistrer ... (ou le racourci CTRL + S).
Logiquement une fenêtre pour "Enregistrer sous" va apparaitre, si ce n'est pas le cas, c'est que vous avez déjà enregistré le document, recommencez avec un nouveau sans l'enregistrer (ouvrir Excel avec un document vide par défaut).
Il ne faut pas enregistrer le fichier sous un format "Classeur Ms Office Excel (*.xls)" mais sous le format "Macro complémentaire Ms Office Excel (*.xla)", ceci afin de pouvoir réutiliser la fonction dans toutes vos feuilles Excel.
Enfin, nommez votre fichier "NbValUniques.xla" et enregistré le.

Rendre la fonction accessible dans tous les documents Excel

Rendez vous dans n'importe quel document Excel, allez dans le menu "Outils > Macros Complémentaires..."
Dans la fenêtre qui vient de s'ouvrir, cochez la case NbValUniques comme sur l'image ci-dessous.


Cliquez sur OK pour valider et la fonction sera accessible depuis tous les documents tant que la case restera cochée.
Testé enfin si "NbValUniques" fonctionne bien !

Filtre dans Excel

Il est possible de filtrer les lignes d'un tableur Excel en fonction d'une colonne, les lignes qui ne sont pas retenues par le filtre sont masquées.
Avec la fonction NbValUniques, les lignes qui sont masquées ne sont pas comptées.
En reprenant l'exemple ci dessus, si on filtre les lignes en fonction de la 1ère lettre et que cette lettre est "J", on se retrouvera avec le tableau suivant :

A
1 Jerome
2 Jerome
6 Jacques
7 Jerome
La fonction NbValUniques retournera la valeur 2.
Faite donc attention à cette fonctionnalité.

Défaut de "NbValUniques"

La fonction souffre d'un léger défaut, elle va compter une case vide comme étant 1 élément unique. Faite donc attention !
Le mieux est de toujours utiliser la fonction sur des plages de valeurs que l'on sait sans case vide, ou dans le cas contraire de faire -1 au total.





[Retour à l'accueil]

Creative Commons License