Compter le nombre d'itération suivant 2 critères SOMMEPROD

Gallyka

XLDnaute Nouveau
Bonjour à tous,

Je voudrais connaître le nombre d'itération suivant les critères ci dessous:
Sur la même ligne de la plage BI12 : BM30000 de l'onglet X si la colonne BM de l'onglet X="Y" et la colonne BI de l'onglet X>0 alors j'ajoute 1. Ma proposition est :
=SOMMEPROD((list50927!BM:BM="TAS2 - ToBeProcessTBP")*(list50927!BI:BI>0);(list50927!BI12:BM30000))
Mais cela ne marche pas ^(#Nombre) :s
Merci d'avance pour votre aide
 

DL_13

XLDnaute Occasionnel
Re : Compter le nombre d'itération suivant 2 critères SOMMEPROD

Bonjour,

Sommeprod ne supporte pas les colonnes entières

a tester

Code:
=SOMMEPROD((list50927!BM12:BM30000="TAS2 - ToBeProcessTBP")*(list50927!BI12:BI30000>0);(list50927!BI12:BM30000))

Bonne journée
 

Gallyka

XLDnaute Nouveau
Re : Compter le nombre d'itération suivant 2 critères SOMMEPROD

Je ne peux pas diffuser le fichier car il est utilisé dans le cadre d'un projet. Je vais essayer d'être plus clair :
Sur une plage BI12:BM30000 je dois vérifier ligne par ligne si la cellule BIn>0 et la cellule BMn = "TBP" alors j'incrémente 1 dans la cellule contenant la formule et ainsi jusqu'à n=30000
 

Hicsygrek

XLDnaute Occasionnel
Re : Compter le nombre d'itération suivant 2 critères SOMMEPROD

Bonsoir Gallyka et DL_13

essaye cette formule :

=SI(OU(NB.SI(BI12:BL30000;0)>0;NB.SI(BM12:BM30000;"TBP")<29989);"ERREUR";1)

Si il y a un 0 dans ta plage ou si il manque un TBP, alors la cellule t'affichera ERREUR, sinon tu auras le 1 comme voulu.

En relisant, j'me dis que peut être tu ne veux vérifier les valeurs que dans la colonne BI et "TBP" que dans la colonne BM ... auquel cas :

=SI(OU(NB.SI(BI12:BI30000;0)>0;NB.SI(BM12:BM30000;"TBP")<29989);"ERREUR";1)
 
Dernière édition:

Gallyka

XLDnaute Nouveau
Re : Compter le nombre d'itération suivant 2 critères SOMMEPROD

Merci Hicsygrek mais ta formule ne me permet pas de compter le nombre de lignes où la cellule BIn>0 et BMn="TBP", cela donnerait :
c=0 'compteur
For i=12 to 30000
If ActiveSheet.Cells(i, 9) > 0 & ActiveSheet.Cells(i, 13) = "TBP" then
c=c+1
End if
End for
Cellule de mon report = c
 

Hicsygrek

XLDnaute Occasionnel
Re : Compter le nombre d'itération suivant 2 critères SOMMEPROD

Au temps pour moi j'avais pas compris comme cela ... dans ce cas :

=NB.SI(BI12:BI30000;">0")

-> donne le nombre de lignes où la valeur est supérieur à 0

=NB.SI(BM12:BM30000;"TBP")

-> donne le nombre de lignes où apparaissent "TBP"

Maintenant si tu le veux sous forme de code VBA je passe mon tour ...
 

Gallyka

XLDnaute Nouveau
Re : Compter le nombre d'itération suivant 2 critères SOMMEPROD

Il faut que j'utilise SOMMEPROD() car j'ai plusieurs critères à respecter (les 2 que tu as écrit aau dessus) afin d'incrémenter le nb de lignes, malheureusement je ne peux pas utiliser vba cela aurait été plus simple pour moi
 

Gallyka

XLDnaute Nouveau
Re : Compter le nombre d'itération suivant 2 critères SOMMEPROD

J'ai la solution c'était

=SOMMEPROD((list50927!BM12:BM30000="TAS2 - ToBeProcessTBP")*(list50927!BI12:BI30000>0))

J'ai enlevé (list50927!BI12:BM30000) car la formule SOMMEPROD() ne permet pas de mélanger les lignes et les colonnes!

Merci pour votre aide
Bonne fin de journée
 

Hicsygrek

XLDnaute Occasionnel
Re : Compter le nombre d'itération suivant 2 critères SOMMEPROD

hum ... Je reprends, pour chaque ligne où apparait en BI une valeur supérieure à 0 ET en BM le texte "TBP", tu veux avoir la valeur 1.
Si c'est celà on peut imaginer qu'en BN tu ais :

=SI(ET(BI12>0;BM12="TBP");1;0)

Formule que tu tires jusqu'à la ligne 30000, puis SOMME de la matrice ...
C'pas très pro mais tu peux masquer la colonne BN :D
 

Discussions similaires

Statistiques des forums

Discussions
312 199
Messages
2 086 161
Membres
103 148
dernier inscrit
lulu56