Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Sumproduct conditionel

25 réponses
Avatar
rthompson
Bonjour à toutes et tous

Difficile à expliquer, mais je vais essayer

(Grâce à vous) j'ai des boutons (pas de l'urticaire, mais des déclencheur de
macros)
qui me cachent certaines lignes sous certaines conditions

Dans mes colonnes de M à S j'ai des quantités
Dans la colonne L j'ai des noms
Dans la colonne E j'ai des montants

Sur la ligne 3 j'ai des totaux conditionnels
=SUBTOTAL(109;M5:M350)
L'option 109 me donne le total des lignes affichées

Maintenant je voudrais avoir le montant total de chaque colonne des lignes
affichées
=SUMPRODUCT((Docsolution_Product=N4)*Docsolution_Amount)
Docsolution_Product est la colonne L
Docsolution_Amount est la colonne E
et sur la ligne 4 j'ai mes entêtes de colonne

Ceci fonctionne impeccablement

MAIS

Cela me donne toujours le montant total
Y a-t-il une option comme le 109 qui ferait uniquement le total des lignes
visibles?

Ou faut-il passer par une colonne supplémentaire pour les montant?

D'avance merci et à très bientôt

Rex

10 réponses

1 2 3
Avatar
MichDenis
| je dirais plutot à partir de la version xl2003,

Oui, Isabelle, tu as totalement raison à ce propos. Merci.
Avatar
Jacquouille
Allez, hop, on transige à 2001,5 -)
Merci pour l'info
Jacques

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"MichDenis" a écrit dans le message de news:

| je dirais plutot à partir de la version xl2003,

Oui, Isabelle, tu as totalement raison à ce propos. Merci.



Avatar
rthompson
Le 109 donne un goût de Sang Neuf :-))

But seriously

C'est un petit truc GENIAL

dansA1:A50 (par exemple) tu as une serie de chiffre

Le total fait (disons) 5421

Si en A51 tu fait un total normal
Et en A52 tu fait un subtotal de A1 à A50
=subtotal(109;A1:A50)
Ceci te donne 5421

MAIS si tu HIDE un certain nombre de ligne
ton total ne change pas

MAIS le Subtotal 109 n'additionne que les ligne non-cachée


A bientôt

Pour une fois que je peux t'expliquer quelque chose cela me fait réellement
plaisir

Rex





"Jacquouille" a écrit dans le message de
news: %
Bonjour Denis
Je ne connais pas l'argument 109 pour la fonction Sous.Total.
Ce 109, quel goût ça a et ça se mange comment? -)
Merci et bon WE
Jacques

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"MichDenis" a écrit dans le message de news:

Un exemple à partir de tes données :

=SOMMEPROD((SOUS.TOTAL(109;DECALER(E5:E15;LIGNE(E5:E15)-MIN(LIGNE(E5:E15));;1)))*(A5:A15=2))

et cela fonctionne très bien !



"rthompson" a écrit dans le message de
groupe de discussion :
Bonjour et merci

Le fichier joint n'était pas pour que tu fasse mon boulot
mais plutôt pour mieux comprendre ma demande
J'ai jamais été trop costaud pour expliquer

Voici ou j'en suis maintenant
Cela réagit!! mais le montant n'est pas correcte
Donc je dois avoir mal placé un truc


=SUMPRODUCT((SUBTOTAL(109;Docsolution_Cash_Situation)*E1)*Docsolution_Amount)

Docsolution_Cash_Situation est la zone en colonne A qui
défini si le payement est fait, à faire ou en retard
En E1 la condition
Docsolution_Amount la colonne des montants

Et ceci me donne un chiffre de plus de 800.000 alors qu'il devrait être
de
45.000

As-tu une idée de ce que je fais de mal

A bientôt et merci

Rex


"MichDenis" a écrit dans le message de news:
ON$
| Je ne comprends pas trop bien

Si c'était l'inverse tu ne poserais pas la question ...;-)

=SOMMEPROD((SOUS.TOTAL(109;DECALER(Plg;LIGNE(Plg)-MIN(LIGNE(Plg));;1)))*(Plg>7))

Plg représente la plage de cellules de ta colonne que tu veux addtionner
c'est simplement une plage nommée.

La condition est représentée par Plg >7
En fait, j'aurais dû retenir une autre nom, car elle représente la
colonne
dont tu veux poser une condition

La formule pourrait devenir :
Additionner la colonne Plg si la Colonne C >7 et si la colonne D =
"toto"
=SOMMEPROD((SOUS.TOTAL(109;DECALER(Plg;LIGNE(Plg)-MIN(LIGNE(Plg));;1)))*(Colc>7)*(Cold="toto"))

ça vas-tu mieux ?

L'adaptation dans ton fichier, c'est ton affaire !








Avatar
rthompson
Bonjour et merci


Pour le moment cela fonctionne mais je ne comprends pas

Comme dis dans l'autre bout du fil

Je n'utilise pas de filtre ou de filtre élaboré
mais une petite macro affectée à un bouton
qui me cache ou décache certaines lignes

Donc pour le moment je suis contant

Mais si quelqu'un pourrait m'expliquer pourquoi je suis contant
je serais encore plus contant

A bientôt

Rex


"MichDenis" a écrit dans le message de news:

Bonjour,

Je crois que c'est à partir de la version 2002, on a ajouté
les mêmes fonctions à Sous.Total() mais pour des lignes
masquées sans que ces lignes masquées le soient à la
suite d'un filtre.

à chacune des fonctions que tu connais déjà, tu ajoutes 100
D'ou Sous.Total(109,Plage)
9 = additionner plage filtrée
109 = addtionner plage dont les lignes sont visibles (sans usage de
filtre)





"Jacquouille" a écrit dans le message de
groupe de discussion :
Salut Major

Décidément, c'est le climat belge qui bouche les neurones.

Perso, je ne comprends pas la présence d'un SOMMEPROD (SP, pour plus de
facilités) dans un tableau filtré, puisque tu utilises la fonction
SOUS.TOTAL.
Quant à ton option 109, elle m'est inconnue. J'en prends à témoin le livre
de John Walkenbach, Formules et fonction d'Excel 2000, page 240, où il
utilise l'indice 3, pour comptabiliser le nombre, soit le nombre de lignes
affichées.
Le filtre masque les lignes dont la cel ne correspond pas à la condition
émise dans sa colonne. Pourquoi dès lors vouloir utiliser SP qui, lui
aussi,
répond à une (ou +) condition?

Un peu de soleil dans ce ciel maussade?

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"rthompson" a écrit dans le message de
news: Oi2bg%
Bonjour JB et merci

Décidément je dois être nul ou fatigué

J'arrive à un résultat totalement faux
Comme quand j'utilise la solution de Michdenis

J'ai adapté ta proposition comme ceci


=SUMPRODUCT((SUBTOTAL(109;Docsolution_Amount))*(Docsolution_Cash_Situationá))

Docsolution_Cash_Situation
est la zone en colonne A qui défini si le payement
est fait, à faire ou en retard
Ceci est représenté par 0 1 ou 2
En E1
la condition j'y mets 0 1 ou 2
Docsolution_Amount
la colonne des montants


Je mets en E1 si je cherche les retartadaires 2

Et le résultat est totaalement faux

Ou est l'erreur?

Merci et à très bientôt

Rex

PS
Si ce n'est pas clair, j'ai mis le fichier joint dans ma réponse à
Michdenis




"JB" a écrit dans le message de news:

Bonjour,

http://boisgontierjacques.free.fr/pages_site/FiltreAuto.htm#SommeZoneFiltree

JB
http://boisgontierjacques.free.fr


On 17 avr, 11:18, "rthompson"
wrote:
Bonjour à toutes et tous

Difficile à expliquer, mais je vais essayer

(Grâce à vous) j'ai des boutons (pas de l'urticaire, mais des
déclencheur
de
macros)
qui me cachent certaines lignes sous certaines conditions

Dans mes colonnes de M à S j'ai des quantités
Dans la colonne L j'ai des noms
Dans la colonne E j'ai des montants

Sur la ligne 3 j'ai des totaux conditionnels
=SUBTOTAL(109;M5:M350)
L'option 109 me donne le total des lignes affichées

Maintenant je voudrais avoir le montant total de chaque colonne des
lignes
affichées
=SUMPRODUCT((Docsolution_Product=N4)*Docsolution_Amount)
Docsolution_Product est la colonne L
Docsolution_Amount est la colonne E
et sur la ligne 4 j'ai mes entêtes de colonne

Ceci fonctionne impeccablement

MAIS

Cela me donne toujours le montant total
Y a-t-il une option comme le 109 qui ferait uniquement le total des
lignes
visibles?

Ou faut-il passer par une colonne supplémentaire pour les montant?

D'avance merci et à très bientôt

Rex








Avatar
isabelle
c'est surement du au sang neuf ;-)
isabelle

rthompson a écrit :
Bonjour et merci


Pour le moment cela fonctionne mais je ne comprends pas

Comme dis dans l'autre bout du fil

Je n'utilise pas de filtre ou de filtre élaboré
mais une petite macro affectée à un bouton
qui me cache ou décache certaines lignes

Donc pour le moment je suis contant

Mais si quelqu'un pourrait m'expliquer pourquoi je suis contant
je serais encore plus contant

A bientôt

Rex


"MichDenis" a écrit dans le message de news:


Bonjour,

Je crois que c'est à partir de la version 2002, on a ajouté
les mêmes fonctions à Sous.Total() mais pour des lignes
masquées sans que ces lignes masquées le soient à la
suite d'un filtre.

à chacune des fonctions que tu connais déjà, tu ajoutes 100
D'ou Sous.Total(109,Plage)
9 = additionner plage filtrée
109 = addtionner plage dont les lignes sont visibles (sans usage de
filtre)





"Jacquouille" a écrit dans le message de
groupe de discussion :
Salut Major

Décidément, c'est le climat belge qui bouche les neurones.

Perso, je ne comprends pas la présence d'un SOMMEPROD (SP, pour plus de
facilités) dans un tableau filtré, puisque tu utilises la fonction
SOUS.TOTAL.
Quant à ton option 109, elle m'est inconnue. J'en prends à témoin le livre
de John Walkenbach, Formules et fonction d'Excel 2000, page 240, où il
utilise l'indice 3, pour comptabiliser le nombre, soit le nombre de lignes
affichées.
Le filtre masque les lignes dont la cel ne correspond pas à la condition
émise dans sa colonne. Pourquoi dès lors vouloir utiliser SP qui, lui
aussi,
répond à une (ou +) condition?

Un peu de soleil dans ce ciel maussade?

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"rthompson" a écrit dans le message de
news: Oi2bg%

Bonjour JB et merci

Décidément je dois être nul ou fatigué

J'arrive à un résultat totalement faux
Comme quand j'utilise la solution de Michdenis

J'ai adapté ta proposition comme ceci


=SUMPRODUCT((SUBTOTAL(109;Docsolution_Amount))*(Docsolution_Cash_Situationá))

Docsolution_Cash_Situation
est la zone en colonne A qui défini si le payement
est fait, à faire ou en retard
Ceci est représenté par 0 1 ou 2
En E1
la condition j'y mets 0 1 ou 2
Docsolution_Amount
la colonne des montants


Je mets en E1 si je cherche les retartadaires 2

Et le résultat est totaalement faux

Ou est l'erreur?

Merci et à très bientôt

Rex

PS
Si ce n'est pas clair, j'ai mis le fichier joint dans ma réponse à
Michdenis




"JB" a écrit dans le message de news:

Bonjour,

http://boisgontierjacques.free.fr/pages_site/FiltreAuto.htm#SommeZoneFiltree

JB
http://boisgontierjacques.free.fr


On 17 avr, 11:18, "rthompson"
wrote:

Bonjour à toutes et tous

Difficile à expliquer, mais je vais essayer

(Grâce à vous) j'ai des boutons (pas de l'urticaire, mais des
déclencheur
de
macros)
qui me cachent certaines lignes sous certaines conditions

Dans mes colonnes de M à S j'ai des quantités
Dans la colonne L j'ai des noms
Dans la colonne E j'ai des montants

Sur la ligne 3 j'ai des totaux conditionnels
=SUBTOTAL(109;M5:M350)
L'option 109 me donne le total des lignes affichées

Maintenant je voudrais avoir le montant total de chaque colonne des
lignes
affichées
=SUMPRODUCT((Docsolution_Product=N4)*Docsolution_Amount)
Docsolution_Product est la colonne L
Docsolution_Amount est la colonne E
et sur la ligne 4 j'ai mes entêtes de colonne

Ceci fonctionne impeccablement

MAIS

Cela me donne toujours le montant total
Y a-t-il une option comme le 109 qui ferait uniquement le total des
lignes
visibles?

Ou faut-il passer par une colonne supplémentaire pour les montant?

D'avance merci et à très bientôt

Rex













Avatar
Jacquouille
Sang-Neuf pour le printemps chez les jeunes
Château-neuf pour le printemps chez les Séniors ! -)

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"isabelle" a écrit dans le message de news:
uIqs$
c'est surement du au sang neuf ;-)
isabelle

rthompson a écrit :
Bonjour et merci


Pour le moment cela fonctionne mais je ne comprends pas

Comme dis dans l'autre bout du fil

Je n'utilise pas de filtre ou de filtre élaboré
mais une petite macro affectée à un bouton
qui me cache ou décache certaines lignes

Donc pour le moment je suis contant

Mais si quelqu'un pourrait m'expliquer pourquoi je suis contant
je serais encore plus contant

A bientôt

Rex


"MichDenis" a écrit dans le message de news:


Bonjour,

Je crois que c'est à partir de la version 2002, on a ajouté
les mêmes fonctions à Sous.Total() mais pour des lignes
masquées sans que ces lignes masquées le soient à la
suite d'un filtre.

à chacune des fonctions que tu connais déjà, tu ajoutes 100
D'ou Sous.Total(109,Plage)
9 = additionner plage filtrée
109 = addtionner plage dont les lignes sont visibles (sans usage de
filtre)





"Jacquouille" a écrit dans le message de
groupe de discussion :
Salut Major

Décidément, c'est le climat belge qui bouche les neurones.

Perso, je ne comprends pas la présence d'un SOMMEPROD (SP, pour plus de
facilités) dans un tableau filtré, puisque tu utilises la fonction
SOUS.TOTAL.
Quant à ton option 109, elle m'est inconnue. J'en prends à témoin le
livre
de John Walkenbach, Formules et fonction d'Excel 2000, page 240, où il
utilise l'indice 3, pour comptabiliser le nombre, soit le nombre de
lignes
affichées.
Le filtre masque les lignes dont la cel ne correspond pas à la condition
émise dans sa colonne. Pourquoi dès lors vouloir utiliser SP qui, lui
aussi,
répond à une (ou +) condition?

Un peu de soleil dans ce ciel maussade?

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"rthompson" a écrit dans le message
de
news: Oi2bg%

Bonjour JB et merci

Décidément je dois être nul ou fatigué

J'arrive à un résultat totalement faux
Comme quand j'utilise la solution de Michdenis

J'ai adapté ta proposition comme ceci


=SUMPRODUCT((SUBTOTAL(109;Docsolution_Amount))*(Docsolution_Cash_Situationá))

Docsolution_Cash_Situation
est la zone en colonne A qui défini si le
payement
est fait, à faire ou en retard
Ceci est représenté par 0 1 ou 2
En E1
la condition j'y mets 0 1 ou 2
Docsolution_Amount
la colonne des montants


Je mets en E1 si je cherche les retartadaires 2

Et le résultat est totaalement faux

Ou est l'erreur?

Merci et à très bientôt

Rex

PS
Si ce n'est pas clair, j'ai mis le fichier joint dans ma réponse à
Michdenis




"JB" a écrit dans le message de news:

Bonjour,

http://boisgontierjacques.free.fr/pages_site/FiltreAuto.htm#SommeZoneFiltree

JB
http://boisgontierjacques.free.fr


On 17 avr, 11:18, "rthompson"
wrote:

Bonjour à toutes et tous

Difficile à expliquer, mais je vais essayer

(Grâce à vous) j'ai des boutons (pas de l'urticaire, mais des
déclencheur
de
macros)
qui me cachent certaines lignes sous certaines conditions

Dans mes colonnes de M à S j'ai des quantités
Dans la colonne L j'ai des noms
Dans la colonne E j'ai des montants

Sur la ligne 3 j'ai des totaux conditionnels
=SUBTOTAL(109;M5:M350)
L'option 109 me donne le total des lignes affichées

Maintenant je voudrais avoir le montant total de chaque colonne des
lignes
affichées
=SUMPRODUCT((Docsolution_Product=N4)*Docsolution_Amount)
Docsolution_Product est la colonne L
Docsolution_Amount est la colonne E
et sur la ligne 4 j'ai mes entêtes de colonne

Ceci fonctionne impeccablement

MAIS

Cela me donne toujours le montant total
Y a-t-il une option comme le 109 qui ferait uniquement le total des
lignes
visibles?

Ou faut-il passer par une colonne supplémentaire pour les montant?

D'avance merci et à très bientôt

Rex















Avatar
Jacquouille
"rthompson" a écrit dans le message de
news:
......
Pour une fois que je peux t'expliquer quelque chose cela me fait
réellement plaisir

Rex



S'il n'y a que cela, j'ai de quoi t'offrir le bonheur éternel avec toutes
mes inconnues et méconnues...-)
Jacques.
Avatar
rthompson
encore et toujours bonjour

Mais oouuuaaaaai
je sais qu'offset est décaler
mais si j'utilise un nom dynamique, il est d'office décaler

Enfin j'ai sauvé tes explications et je lirais cela à tête reposée ce soir

UN TOUT GRAND MERCI

Et à très bientôt

Rex





"MichDenis" a écrit dans le message de news:

| Mais pourquoi dois-je utiliser Offset

Parce que tu es anglophone, nous on emploie "Decaler"

Un tout petit exemple :

Sommeprod = Formule matricielle = Tableau de données

=SOMMEPROD((SOUS.TOTAL(109;DECALER(A1:A3;LIGNE(A1:A3)-MIN(LIGNE(A1:A3));;1)))*(B1:B3=2))

Condition 1
SOUS.TOTAL(109;DECALER(A1:A3;LIGNE(A1:A3)-MIN(LIGNE(A1:A3));;1))

Admettons que je remplace les plages de cellules par leur données
le contenu de A1 A2 = 21 A3= 22
le séparateur dans le tableau { } dépend du panneau de configuration de
Windows

DECALER({20;21;22};LIGNE({20;21;22})-MIN(LIGNE({20;21;22}));;1)
Si je substitue LIGNE({20;21;22})-MIN(LIGNE({20;21;22})) par le résultat
de l'opération

DECALER({20;21;22};{0;1;2};;1)

SOUS.TOTAL(109;DECALER({20;21;22};{0;1;2};;1))

Il faut se souvenir, qu'on est en contexte d'une formule matricielle, et
que la fonction
Sous.Total va lire ligne par ligne et répondre à la question : Est-ce que
la ligne est visible
si oui, je dois additionner la valeur correspondante 20 ou 21 ou 22 et
chaque valeur
est positionner dans le tableau position 0 ou 1 ou 2

Supposons qu'il n'y a qu'un ligne de visible A2 et que B2 qui soit égale à
2

=SOMMEPROD(SOUS.TOTAL(109;DECALER({20;21;22};{0;1;2};;1)))*(B1:B3=2))
Condition 1 Condition 2 (B1:B3=2)
Visible = faux 20 (0) * Faux
Visible = vrai 21 (1) * Vrai
Visible = faux 22 (2) * Faux

Sommeprod = La somme des produits ()
La condition 1 multipliée par la condition 2
0
21
0
La somme = 21

| Et pourquoi quand je réfère à une cellule E2 et pas au chiffre 2 il
bloque?

Dans ton fichier, je ne sais pas... mais ceci est acceptable pour excel
Si E2 = 2
=SOMMEPROD(SOUS.TOTAL(109;DECALER({20;21;22};{0;1;2};;1)))*(B1:B3â))





"rthompson" a écrit dans le message de
groupe de discussion :
Bonjour et MERCI

Cela fonctionne

Mais (et si tu as le temps) maintenant j'aimerais comprendre certain trucs

SUMPRODUCT
((SUBTOTAL
(109;
Jusqu'ici ça va

Mais pourquoi dois-je utiliser Offset alors que j'utilise un nom dynamique

OFFSET(Docsolution_Amount;

Et à quoi sert Row (puisqu'il ne doit analyser qu'une colonne?

ROW(Docsolution_Amount)-

A quoi sert le MIN?

MIN(ROW(Docsolution_Amount)

Et pourquoi quand je réfère à une cellule E2 et pas au chiffre 2 il
bloque?

);;1)))*(Docsolution_Cash_Situation=2))


Mais quoiqu'il en soit ceci fonctionne

Donc un tout grand merci à toi pour ta gentillesse et ta patience

Rex








"MichDenis" a écrit dans le message de news:

Un exemple à partir de tes données :

=SOMMEPROD((SOUS.TOTAL(109;DECALER(E5:E15;LIGNE(E5:E15)-MIN(LIGNE(E5:E15));;1)))*(A5:A15=2))

et cela fonctionne très bien !



"rthompson" a écrit dans le message de
groupe de discussion :
Bonjour et merci

Le fichier joint n'était pas pour que tu fasse mon boulot
mais plutôt pour mieux comprendre ma demande
J'ai jamais été trop costaud pour expliquer

Voici ou j'en suis maintenant
Cela réagit!! mais le montant n'est pas correcte
Donc je dois avoir mal placé un truc


=SUMPRODUCT((SUBTOTAL(109;Docsolution_Cash_Situation)*E1)*Docsolution_Amount)

Docsolution_Cash_Situation est la zone en colonne A qui
défini si le payement est fait, à faire ou en retard
En E1 la condition
Docsolution_Amount la colonne des montants

Et ceci me donne un chiffre de plus de 800.000 alors qu'il devrait être
de
45.000

As-tu une idée de ce que je fais de mal

A bientôt et merci

Rex


"MichDenis" a écrit dans le message de news:
ON$
| Je ne comprends pas trop bien

Si c'était l'inverse tu ne poserais pas la question ...;-)

=SOMMEPROD((SOUS.TOTAL(109;DECALER(Plg;LIGNE(Plg)-MIN(LIGNE(Plg));;1)))*(Plg>7))

Plg représente la plage de cellules de ta colonne que tu veux addtionner
c'est simplement une plage nommée.

La condition est représentée par Plg >7
En fait, j'aurais dû retenir une autre nom, car elle représente la
colonne
dont tu veux poser une condition

La formule pourrait devenir :
Additionner la colonne Plg si la Colonne C >7 et si la colonne D =
"toto"
=SOMMEPROD((SOUS.TOTAL(109;DECALER(Plg;LIGNE(Plg)-MIN(LIGNE(Plg));;1)))*(Colc>7)*(Cold="toto"))

ça vas-tu mieux ?

L'adaptation dans ton fichier, c'est ton affaire !






Avatar
rthompson
Bon sang ne saurais mentir


Et puis bon sang de bonsoir, mais c'est bien sur!


Bon week end à toi
Et merci

Rex



"isabelle" a écrit dans le message de news:
uIqs$
c'est surement du au sang neuf ;-)
isabelle

rthompson a écrit :
Bonjour et merci


Pour le moment cela fonctionne mais je ne comprends pas

Comme dis dans l'autre bout du fil

Je n'utilise pas de filtre ou de filtre élaboré
mais une petite macro affectée à un bouton
qui me cache ou décache certaines lignes

Donc pour le moment je suis contant

Mais si quelqu'un pourrait m'expliquer pourquoi je suis contant
je serais encore plus contant

A bientôt

Rex


"MichDenis" a écrit dans le message de news:


Bonjour,

Je crois que c'est à partir de la version 2002, on a ajouté
les mêmes fonctions à Sous.Total() mais pour des lignes
masquées sans que ces lignes masquées le soient à la
suite d'un filtre.

à chacune des fonctions que tu connais déjà, tu ajoutes 100
D'ou Sous.Total(109,Plage)
9 = additionner plage filtrée
109 = addtionner plage dont les lignes sont visibles (sans usage de
filtre)





"Jacquouille" a écrit dans le message de
groupe de discussion :
Salut Major

Décidément, c'est le climat belge qui bouche les neurones.

Perso, je ne comprends pas la présence d'un SOMMEPROD (SP, pour plus de
facilités) dans un tableau filtré, puisque tu utilises la fonction
SOUS.TOTAL.
Quant à ton option 109, elle m'est inconnue. J'en prends à témoin le
livre
de John Walkenbach, Formules et fonction d'Excel 2000, page 240, où il
utilise l'indice 3, pour comptabiliser le nombre, soit le nombre de
lignes
affichées.
Le filtre masque les lignes dont la cel ne correspond pas à la condition
émise dans sa colonne. Pourquoi dès lors vouloir utiliser SP qui, lui
aussi,
répond à une (ou +) condition?

Un peu de soleil dans ce ciel maussade?

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"rthompson" a écrit dans le message
de
news: Oi2bg%

Bonjour JB et merci

Décidément je dois être nul ou fatigué

J'arrive à un résultat totalement faux
Comme quand j'utilise la solution de Michdenis

J'ai adapté ta proposition comme ceci


=SUMPRODUCT((SUBTOTAL(109;Docsolution_Amount))*(Docsolution_Cash_Situationá))

Docsolution_Cash_Situation
est la zone en colonne A qui défini si le
payement
est fait, à faire ou en retard
Ceci est représenté par 0 1 ou 2
En E1
la condition j'y mets 0 1 ou 2
Docsolution_Amount
la colonne des montants


Je mets en E1 si je cherche les retartadaires 2

Et le résultat est totaalement faux

Ou est l'erreur?

Merci et à très bientôt

Rex

PS
Si ce n'est pas clair, j'ai mis le fichier joint dans ma réponse à
Michdenis




"JB" a écrit dans le message de news:

Bonjour,

http://boisgontierjacques.free.fr/pages_site/FiltreAuto.htm#SommeZoneFiltree

JB
http://boisgontierjacques.free.fr


On 17 avr, 11:18, "rthompson"
wrote:

Bonjour à toutes et tous

Difficile à expliquer, mais je vais essayer

(Grâce à vous) j'ai des boutons (pas de l'urticaire, mais des
déclencheur
de
macros)
qui me cachent certaines lignes sous certaines conditions

Dans mes colonnes de M à S j'ai des quantités
Dans la colonne L j'ai des noms
Dans la colonne E j'ai des montants

Sur la ligne 3 j'ai des totaux conditionnels
=SUBTOTAL(109;M5:M350)
L'option 109 me donne le total des lignes affichées

Maintenant je voudrais avoir le montant total de chaque colonne des
lignes
affichées
=SUMPRODUCT((Docsolution_Product=N4)*Docsolution_Amount)
Docsolution_Product est la colonne L
Docsolution_Amount est la colonne E
et sur la ligne 4 j'ai mes entêtes de colonne

Ceci fonctionne impeccablement

MAIS

Cela me donne toujours le montant total
Y a-t-il une option comme le 109 qui ferait uniquement le total des
lignes
visibles?

Ou faut-il passer par une colonne supplémentaire pour les montant?

D'avance merci et à très bientôt

Rex















Avatar
rthompson
C'est promi

La prochaine ExcelBouffe pas trop loin

JE VIENS


A bientôt

et bon week end

Rex

"Jacquouille" a écrit dans le message de
news:
"rthompson" a écrit dans le message de
news:
......
Pour une fois que je peux t'expliquer quelque chose cela me fait
réellement plaisir

Rex



S'il n'y a que cela, j'ai de quoi t'offrir le bonheur éternel avec toutes
mes inconnues et méconnues...-)
Jacques.



1 2 3