Microsoft 365 Compter le nombre de cellules filtrées

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

team18fr

XLDnaute Occasionnel
Bonjour à tous,
Je pensais que ce serait facile mais je n'y arrive pas, donc j'ai une colonne dans laquelle j'ai des oui, non et vide et j'aurais voulus compter les cellules contenant une oui mais seulement celles qui sont affichées après filtre. Il peut y avoir plusieurs colonnes de filtrées et je n'arrive à rien avec la fonction "sous total"
Merci d'avance pour votre aide.
 
Bonjour team18fr,

Pour ne pas se casser la tête utiliser une fonction VBA volatile :
VB:
Function Compte(plage As Range, critere)
Dim c As Range
Application.Volatile
For Each c In plage
    If Not c.Rows.Hidden Then If c = critere Then Compte = Compte + 1
Next
End Function
Filtrer sur la colonne B du fichier joint.

A+
 

Pièces jointes

Ah mais je suis surpris, il n'est pas nécessaire que la fonction soit volatile, fichier (2) avec :
VB:
Function Compte(plage As Range, critere)
Dim c As Range
For Each c In plage
    If Not c.Rows.Hidden Then If c = critere Then Compte = Compte + 1
Next
End Function
La fonction est aussi recalculée quand des lignes sont masquées manuellement.

Je suis sur Excel 2019, est-ce que cela est vrai sur toutes versions ?
 

Pièces jointes

 
Au départ j'étais pourtant persuadé qu'il fallait qu'elle le soit.
En fait application.volatil n'est pas utile quand les plages exprimées dans la formules sont les seules à devoir être ré évaluées.
Si par contre des paramètres interviennent qui ne sont pas dans la formules alors volatil doit être précisé pour que la fonction soit systématiquement ré évaluée.
En PJ un exemple avec votre fonction une fois non volatile, une fois volatile.
Sauf que j'ai rajouté la valeur de H1, si celui ci vaut 0 alors la fonction doit renvoyer 0, si c'est 1 il renvoie la valeur.
On voit que si on met 0 seule la fonction volatile est ré évaluée, dans le premier cas le paramètre n'est pas pris en compte. ( Lien )
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
22
Affichages
1 K
Réponses
7
Affichages
427
Retour