Autres Additionner une deuxième colonne avec <sommeprod(somme.si(indirect("Page"&LIGNE......

casmaran

XLDnaute Nouveau
Bonjour à tous,
j'ai besoin d'aide pour additionner une deuxième colonne dans un tableau qui fait partie d'un classeur de 32 pages,
la formule que j'emploie est la suivante :
=SOMMEPROD(SOMME.SI(INDIRECT("Page"&LIGNE($1:$32)&"!$D$6:$D$38");B67;INDIRECT("Page"&LIGNE($1:$32)&"!$P$6:$P$38")))
la formule fonctionne bien pour totaliser toutes les colonnes en P6 à P38 de toutes les pages de 1 à 32, et je voudrais rajouter les sommes de la colonne adjacente Q6:Q38 figurant également sur toutes les pages. J'ai essayé de remplacer P6:P38 par P6:Q38, cela ne donne pas d'erreur mais la colonne Q n'est pas prise en compte.
A l'inverse si je ne sélectionne que la colonne Q à la place de la colonne P ça fonctionne.
J'ai également essayé de multiplier (P6:p38)*(Q6:Q38) mais ça ne marche pas.
Toutes les pages et colonnes de mon tableau sont identiques;
Merci si quelqu'un peut m'éclairer
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

A essayer sans le somme.si
VB:
=SOMMEPROD((INDIRECT("Page"&LIGNE($1:$32)&"!$D$6:$D$38")=B67);INDIRECT("Page"&LIGNE($1:$32)&"!$P$6:$P$38")+INDIRECT("Page"&LIGNE($1:$32)&"!$Q$6:$Q$38"))

Sinon annexe un bout de fichier.

JHA
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Où se situe l'onglet "Page1","Page1", etc.. ?

Pour moi, la formule avec indirect ne donne pas le bon résultat elle ne prend que le premier onglet ("page1" pas les autres)
la formule "=SOMME(Page1: page32!P6:Q38)" donne le bon résultat de la somme de tout les onglets.
Reste à inclure la condition et là!!!!

JHA
 
Dernière édition:

JHA

XLDnaute Barbatruc
Bonjour à tous,

Formule matricielle à faire pour chaque onglet exemple pour deux onglets
VB:
=SOMME((Page1!$D$6:$D$38=K4)*(Page1!$P$6:$P$38+Page1!$Q$6:$Q$38))+SOMME((Page2!$D$6:$D$38=K4)*(Page2!$P$6:$P$38+Page2!$Q$6:$Q$38))
 

Pièces jointes

  • Extrait carnet de vol pour le forum.xlsx
    16.4 KB · Affichages: 2

JHA

XLDnaute Barbatruc
Bonjour à tous,

Le plus simple en gardant la formule d'origine
VB:
=SOMMEPROD(SOMME.SI(INDIRECT("Page"&LIGNE($1:$2)&"!$D$6:$D$38");K3;INDIRECT("Page"&LIGNE($1:$2)&"!$P$6:$P$38"))+SOMME.SI(INDIRECT("Page"&LIGNE($1:$2)&"!$D$6:$D$38");K3;INDIRECT("Page"&LIGNE($1:$2)&"!$q$6:$q$38")))

A la place de LIGNE($1:$2) dans la formule proposée, tu écris LIGNE($1:$32) dans ton fichier

JHA
 

Pièces jointes

  • Extrait carnet de vol pour le forum Rev1.xlsx
    14.8 KB · Affichages: 5

Jocelyn

XLDnaute Barbatruc
Bonjour le Forum,
Bonjour Casmaran, JHA :),

Retour du fichier avec 3 autre solutions formule sommeprod() travaillant sur une liste de nom d'onglet pas de somme.si par onglet présent mais une ou 2 au plus suivant la formule choisie même si plus de 2 onglet a additionner

Cordialement
 

Pièces jointes

  • Extrait carnet de vol pour le forum Rev1.xlsm
    18.7 KB · Affichages: 5

casmaran

XLDnaute Nouveau
Voici le fichier complet
Bonjour le Forum,
Bonjour Casmaran, JHA :),

Retour du fichier avec 3 autre solutions formule sommeprod() travaillant sur une liste de nom d'onglet pas de somme.si par onglet présent mais une ou 2 au plus suivant la formule choisie même si plus de 2 onglet a additionner

Cordialement
Bonjour le Forum,
Bonjour Casmaran, JHA :),

Retour du fichier avec 3 autre solutions formule sommeprod() travaillant sur une liste de nom d'onglet pas de somme.si par onglet présent mais une ou 2 au plus suivant la formule choisie même si plus de 2 onglet a additionner

Cordialement
Bonjour le Forum,
Bonjour Casmaran, JHA :),

Retour du fichier avec 3 autre solutions formule sommeprod() travaillant sur une liste de nom d'onglet pas de somme.si par onglet présent mais une ou 2 au plus suivant la formule choisie même si plus de 2 onglet a additionner

Cordialement
 

Pièces jointes

  • CDV depuis début (3) (1) (Enregistré automatiquement).xlsm
    581.8 KB · Affichages: 5

casmaran

XLDnaute Nouveau
Bonjour JHA et jocelyn,
JHA, dans ton précédent message tu me proposes de remplacer LIGNE($1:$2) par LIGNE($1:$32) mais c'est la même chose ?
jocelyn, j'ai essayé les différentes formules mais l'évaluation de formule excel me renvoi "NF" (souligné) et le commentaire : <une fonction dans cette formule modifie le résultat à chaque calculde la feuille. L'étape finale d'évaluation correspondra au résultat dans la cellule mais pas les étapes intermédiaires.
 

casmaran

XLDnaute Nouveau
Bonjour à tous,

Le plus simple en gardant la formule d'origine
VB:
=SOMMEPROD(SOMME.SI(INDIRECT("Page"&LIGNE($1:$2)&"!$D$6:$D$38");K3;INDIRECT("Page"&LIGNE($1:$2)&"!$P$6:$P$38"))+SOMME.SI(INDIRECT("Page"&LIGNE($1:$2)&"!$D$6:$D$38");K3;INDIRECT("Page"&LIGNE($1:$2)&"!$q$6:$q$38")))

A la place de LIGNE($1:$2) dans la formule proposée, tu écris LIGNE($1:$32) dans ton fichier

JHA
 

casmaran

XLDnaute Nouveau
Bonjour JHA et jocelyn,
j'ai exploité les différentes formules possibles sans résultat et finalement en reprenant la formule de JHA que tu m'as mis dans le fichier en retour Rev1(1) et en remplaçant les pages LIGNE($1:$2) par LIGNE($1:$32) CA FONCTIONNE ! j'ai bien la somme de mes deux colonnes; c'est miraculeux ! je ne sais pas pourquoi ça ne marchait pas avant.
Merci à vous deux d'avoir pris du temps:) et désolé pour ma réponse un peu tardive. Je clôturerai ma demande un peu plus tard.
 

Statistiques des forums

Discussions
298 015
Messages
1 965 154
Membres
200 865
dernier inscrit
lylia654