COMPTER DES CELLULES NON VIDES CONTENANT DES FORMULES

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 !

zekot

XLDnaute Nouveau
Bonjour,

Je souhaite comptabiliser des cellules non vides contenant des formules. J'utilise un filtre également.

J'ai essayé avec sous.total afin que le résultat soit en adéquation lorsque je filtre.

Cependant, il y a des cellules vides et comme elles contiennent des formules, elles sont comptabilisées.

J'ai donc combiné cette formule avec avec NB.SI. Cette dernière me permet de comtabiliser les cellules vides puis de les soustraire au soutotal(3,...). Ça fonctionne mais du coup plus avec le filtre...

Ce tableau n'est qu'une extraction et je dois pouvoir rapidement voir sur plus de 10000 lignes le nombre de cellules vides et non vides selon sa catégorie.

Le problème doit être revu différemment sous doute, mais je trouve pas...

Merci d'avance des solutions que vous pourrez m'apporter.
 

Pièces jointes

Dernière édition:
Bonjour

Tu peux faire dans A1 avec quelque chose du genre
Code:
=SOMMEPROD((SOUS.TOTAL(3;DECALER(A$2;LIGNE(INDIRECT("1:"&LIGNES($A$3:$A$35)));)))*($A$3:$A$35<>""))

@ plus

P.S : Proposition faite d'après une idée de Jocelyn sur ce fil
 
Dernière édition:
J'ai mis du temps à comprendre mais c'est génial, ça fonctionne.
D'autant plus que ça va encore élargir (y'a en même temps une grosse marge de progression😉) mon champs de vision sur l'architecture des formules sur Excel.
 
Bonjour à tous, bonjour Jocelyn

Sauf erreur de ma part, la formule proposée par Jocelyn ne prend pas correctement en compte le contenu de la cellule A3 puisqu'on a DECALER(A$3;LIGNE(INDIRECT("1:"&LIGNES(A$3:A$20000))); ) qui donne DECALER(A$3;1; ) = A4, puis DECALER(A$3;2; ) = A5 et ainsi de suite. A3 est tombé dans les oubliettes. Ne faut-il pas faire avec DECALER(A$2;LIGNE(INDIRECT("1:"&LIGNES(A$3:A$20000))); ).

@ plus
 
Dernière édition:
re,
Bonjour CISCO,

Effectivement quand j'ai poster la cellule de référence du décaler devrait être A2 et non A3, suivant ton dernier message après teste je ne vois de soucis avec LIGNE(INDIRECT("1:"&LIGNES(A$3:A$20000))) cette partie permettant seulement de déterminer le nombre de ligne a vérifier
j'avais mis A20000 car zekot a dit qu'il pouvait avoir 10 000 lignes alors j'ai pris de la marge aprés on pourrait le faire avec une plage nommée dynamique
Cordialement
 
Rebonjour

Jocelyn, ce n'est pas la partie LIGNE(INDIRECT("1:"&LIGNES(A$3:A$20000))) qui pose problème, mais le DECALER(A$3.

Dans le fichier exemple actuel, dans la colonne M, il ni a pour le moment qu'une valeur dans M19, donc on a M1 = 1. Si on en met une dans M2000, et qu'on fait des tests avec DECALER(M$2 ou DECALER(M$3, on n'obtient pas le même résultat : 2 dans le premier cas, 1 dans le second. Pas normal, non ?

@ plus
 
oui c'est bien le A$3 de la formule qui est a modifier par le A$2 dans le fichier joint j'ai modifier le A3 par A2 et mis 5 valeurs de plus en colonne M dont la derniere en M2037 et le résultat de M1 est bien de 6 les 5 ajoutée plus lcelle existant de base

Cordialement
 

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

Retour