Nombre de valeurs sur conditions multiples (SOUS.TOTAL)

Bonjour,

Je viens vers vous aujourd'hui car je souhaite compter un nombre de lignes répondant à plusieurs conditions dans un tableau filtré ; de manière dynamique donc.

Dans le fichier en PJ :

3test-nico.xlsm (12.78 Ko)

- la case C2 compte le nombre de références dans le tableau en dynamique (adapté selon le filtre).

- la case C3 compte le nombre de références en dynamique pour lesquelles la valeur du champ Validation (colonne C) est strictement "OUI".

- la case C4 compte le nombre de références pour lesquelles la valeur du champ Validation (colonne C) comprend au moins la suite de caractères "OUI", mais pas en dynamique.

- la case C5 est censée reproduire le même résultat que la case C4, mais en dynamique cette fois-ci.

Cependant, après avoir écumé le forum, pas moyen de trouver comment arriver au résultat attendu. J'ai donc testé la formule ci-dessous mais elle renvoie une valeur nulle (disponible dans le fichier en PJ, case C5) :

=SOMMEPROD((C8:C16="*OUI*")*(SOUS.TOTAL(3;DECALER(A8;LIGNE(A8:A16)-MIN(LIGNE(A8:A16));0))))

Je ne comprends pas pourquoi la formule ci-dessus me renvoie 0 comme résultat, et surtout comment il comprend les étoiles * avant et après la valeur recherchée dans la plage C8:C16.

Le but étant de pouvoir retrouver de façon dynamique le nombre de lignes pour lesquelles la valeur de la colonne C comprend au moins la suite de caractères "OUI".

Merci par avance si vous parvenez à m'expliquer comment ça fonctionne, et comment trouver la formule permettant de compter ce que je souhaite compter.

Bonjour le forum, Nicolippy,

Je n'ais pas la formule pour la cellule "C5", mais je peux t'affirmer que les jokers * ne fonctionne pas avec la fonction SOMMEPROD

Cdlt.

Bonjour mdo100,

Merci de la précision, ça m'a permis de trouver une autre solution en fouillant sur le net (mention spéciale au joker, je ne savais pas que ça s'appelait ainsi ).

La solution trouvée consiste à remplacer la partie :

(C8:C16="*OUI*")

par :

(ESTNUM(CHERCHE("OUI";C8:C16)))

Cela donne donc :

=SOMMEPROD((ESTNUM(CHERCHE("OUI";C8:C16)))*(SOUS.TOTAL(3;DECALER(A8;LIGNE(A8:A16)-MIN(LIGNE(A8:A16));0))))

Et ça fonctionne !

Au moins, ça pourra servir à d'autres qui se poseront la même question que moi.

Encore merci et bonne soirée !

Re Nicolippy,

Merci pour ce retour et la solution partagée, je la note de mon côté

Belle soirée à toi.

Rechercher des sujets similaires à "nombre valeurs conditions multiples total"