La foncion "NbValFiltre" permet de compter le nombre de cellule non masquée dans une plage donnée
Pour utiliser la fonction dans une formule du tableur Excel rien de plus simple :
=NbValFiltre(plage)
Exemple:
=NbValFiltre(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 |
| A | |
|---|---|
| 1 | Jerome |
| 2 | Jerome |
| 6 | Jacques |
| 7 | Jerome |
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 "NbValFiltre" à 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 NbValFiltre que vous devez copier dans le cadre 2 :
Function NbValFiltre(laPlage As Range)
Dim nb As Integer
On Error Resume Next
nb = 0
For Each cell In laPlage
If Not cell.EntireRow.Hidden And cell.Value Then
nb = nb + 1
End If
Next cell
On Error GoTo 0
NbValFiltre = nb
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 "NbValFiltre.xla" et enregistré le.
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 NbValFiltre 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 "NbValFiltre" fonctionne bien !