XL 2016 Aide pour formule avec condition sur plusieurs feuilles

julesdu35

XLDnaute Nouveau
Bonjour,
Je viens de m’inscrire sur ce forum pour vous demander de l’aide.
Je vous remercie par avance du temps que vous allez prendre pour me répondre.
J’ai essayé depuis ce matin plusieurs formules mais aucune ne fonctionne et le j’avoue que je commence à ne plus avoir d’idée.

Voilà ce que je souhaite faire :


Sur ma feuille actuel
( Nommons la « Jérôme ») ,

je souhaiterais additionner toutes les cellules E22 de mon classeur
( exemple des feuilles en questions « Robert » « Patrice » «Hugo »)

mais uniquement lorsque la cellule G2 de ses feuilles (« Robert » « Patrice » «Hugo »)est égal a la cellule B5 de ma feuille actuel(« Jérôme »).

J’ai créé une feuille Début et une feuille Fin placé aux extrémités de mon classeur afin de pouvoir mettre dans ma formule « Début:Fin »


J’espère avoir été assez claire.
Merci à tous
 

CISCO

XLDnaute Barbatruc
Rebonjour

Cf. en pièce jointe.
J'ai mis la liste des noms de feuilles sur AAAAAApour formule, dans la colonne T. Si tu veux utiliser plus de 19 onglets nommés avec un prénom, il te faudra tirer (=copier/coller) la formule dans T20 vers le bas.
Tu peux mettre cette liste ailleurs. Dans ce cas, tu pourras supprimer la première feuille. Tu peux aussi supprimer la dernière feuille.

@ plus
 

Pièces jointes

  • Pour Forum 2.xlsm
    18.9 KB · Affichages: 6
Dernière édition:

julesdu35

XLDnaute Nouveau
Re,
Merci énormément pour cette combinaison qui à l'air de fonctionner...
Cependant un dernier point , je n'arrive pas a copier la formule matricielle dans un autre classeur car celui la était juste pour l'exemple, j'aimerais pouvoir copier cette formule (Noms de feuilles) dans un autre classeur et ensuite appliquer la formule dans les cellules concernés.

Merci d'avance encore une fois
 

CISCO

XLDnaute Barbatruc
Bonjour

Il s'agit d'une formule matricielle.
Tu la copies normalement, ....

Et non, tout compte fait, il ne s'agit pas d'une formule matricielle. Avec SOMMEPROD, ici, cela suffit.

@ plus
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Bonjour

Deux possibilités :
* Soit tu tires la formule dans T9 vers le haut
* Soit tu mets la bonne formule dans T9, à savoir SI(LIGNES($1:1)<=NBVAL(Nf);INDEX(Nf;LIGNES($1:1));"") et pas SI(LIGNES($1:8)<=NBVAL(Nf);INDEX(Nf;LIGNES($1:8));""), à valider normalement.

@ plus
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Bonsoir

Tout compte fait, comme signalé par st007, il ni a pas besoin de valider en matriciel les diverses formules utilisées. J'ai corrigé les pièces jointes en conséquence.

@ plus
 
Dernière édition:

julesdu35

XLDnaute Nouveau
RE,

Je comprend plus rien....
Je crois que je vais devenir fou... Ca fait 48 heures que je bloque sur une formule...

CISCO dans ton fichier Pour Forum2, tout est parfait, j'ai effectivement la liste de toutes mes feuilles qui s'actualise bien si je créé une nouvelle feuille et la formule a insérer ensuite pour le calcul fonctionne aussi très bien.

Cependant quand j'essaye de copier la formule pour avoir le nom de toute les feuilles sur un autre classeur (TEST VBA INCLUS....) cela me met un message d'erreur #NOM?

Comment faire dans ce classeur pour avoir toute mes feuilles listé???
Quand je rentre la formule mentionné j'obtiens le même message d'erreur

Si j'arrive à résoudre ce problème, mon problème final sera résolu, je n'aurais plus qu'a recopié la formule =SOMMEPROD(SOMME.SI(INDIRECT(Nomsfeuilles&"!B3");B2;INDIRECT(Nomsfeuilles&"!B4")))

et a ajuster mes cellules.

Mais toujours bloqué je n'arrive pas a avoir la liste de toute mes feuille sur mon fichier...

Je le joint a nouveau

Si tu veux bien CISCO ou encore st007 m'écrire directement la formule sur mon fichier, vous m’enlèverez une grosse épine du pied.

Merci encore pour le temps que vous consacrez à me répondre
 

Pièces jointes

  • TEST VBA INCLUS APRES AIDE FORUM.xlsm
    35.6 KB · Affichages: 5

CISCO

XLDnaute Barbatruc
Bonsoir

Le problème, c'est que j'ai la liste des feuilles dans AAAAPourFormule!T2:T6 dans ton dernier fichier, lorsque je l'ouvre, juste en cliquant sur les messages de sécurité "Activé la modification" et "Activé le contenu", sans toucher aux formules...

@ plus
 

st007

XLDnaute Barbatruc
Bonsoir

Le problème, c'est que j'ai la liste des feuilles dans AAAAPourFormule!T2:T6 dans ton dernier fichier, lorsque je l'ouvre, juste en cliquant sur les messages de sécurité "Activé la modification" et "Activé le contenu", sans toucher aux formules...

@ plus
idem, Même si c'est encore validé en matriciel, comme cisco, çà fonctionne
vérifie quand même dans l'onglet formules d'être bien en calcul automatique.
et décide une fois pour toutes avec quelle solution proposée tu veux travailler.
Bon dimanche à vous
 

julesdu35

XLDnaute Nouveau
Bonjour,

Effectivement quand je télécharge le fichier que j'ai posté la ca fonctionne....
Je comprend pas trop pourquoi...

La solution proposé par CISCO fonctionne parfaitement sur mon fichier test

Cependant quand je reprend la formule suivante :
=SOMMEPROD(SOMME.SI(INDIRECT(Nomsfeuilles&"!B3");B2;INDIRECT(Nomsfeuilles&"!B4")))
Et que je l'adapte a mon document final :
=SOMMEPROD(SOMME.SI(INDIRECT(Nomsfeuilles&"!G2");B5;INDIRECT(Nomsfeuilles&"!E22")))

Dans mon fichier final je veux en D26 ( la ou j'écrit ma formule) la somme de toutes les cellules E22 (au lieu de B4) ou la cellule G2(au lieu de B3) est égal a ma propre cellule B5 (au lieu de B2)

Quand je met cette formule j'obtiens en résultat #NOM?

Merci de votre aide qui va me permettre de finaliser mon document (suis pas loin...)
 

julesdu35

XLDnaute Nouveau
Bonjour,

Effectivement quand je télécharge le fichier que j'ai posté la ca fonctionne....
Je comprend pas trop pourquoi...

La solution proposé par CISCO fonctionne parfaitement sur mon fichier test

Cependant quand je reprend la formule suivante :
=SOMMEPROD(SOMME.SI(INDIRECT(Nomsfeuilles&"!B3");B2;INDIRECT(Nomsfeuilles&"!B4")))
Et que je l'adapte a mon document final :
=SOMMEPROD(SOMME.SI(INDIRECT(Nomsfeuilles&"!G2");B5;INDIRECT(Nomsfeuilles&"!E22")))

Dans mon fichier final je veux en D26 ( la ou j'écrit ma formule) la somme de toutes les cellules E22 (au lieu de B4) ou la cellule G2(au lieu de B3) est égal a ma propre cellule B5 (au lieu de B2)

Quand je met cette formule j'obtiens en résultat #NOM?

Merci de votre aide qui va me permettre de finaliser mon document (suis pas loin...)
 

Pièces jointes

  • Version pre-final - TEST.xlsm
    50.9 KB · Affichages: 5

julesdu35

XLDnaute Nouveau
Bonjour,

Je partage l’avancement de mon problème qui n’est pas encore totalement solutionné.
La solution proposé par CISCO qui fonctionne sur mon fichier exemple (Aide Formule du forum) mais que je n’arrive pas à transposer sur mon fichier original( Version pre-final Test) ou j’en ai besoin.
--------------------------------------------------------------------------------------------------------------------------------------FICHIER : Aide Formule du forum

Etape 1 :
Sur une feuille (type synthèse ou autre)
=SI(LIGNES($1:1)<=NBVAL(Nf);INDEX(Nf;LIGNES($1:1));"")
Pour créer Nomsfeuilles et afficher tous les noms de feuilles dans une colonne (j’étends la formule)

Etape 2 : (les cellules souligné correspondent a ma feuille ouverte)
Dans mon fichier (Aide Formule du forum)
Je souhaite en cellule B10 Additionner toutes les cellules B4 des feuilles ou la cellule B3 est égal à ma cellule B2.
La formule mis en place (en B10) qui fonctionne sur ce fichier est :
=SOMMEPROD(SOMME.SI(INDIRECT(Nomsfeuilles&"!B3");B2;INDIRECT(Nomsfeuilles&"!B4")))
--------------------------------------------------------------------------------------------------------------------------------------FICHIER : Version pre-final Test

Etape 3 :
J’ai copié la formule suivante :
=SI(LIGNES($1:1)<=NBVAL(Nf);INDEX(Nf;LIGNES($1:1));"")
sur mon fichier original ( Version pre-final Test)
et j’obtiens bien la liste de toutes mes feuilles.

Etape 4 : (les cellules souligné correspondent a ma feuille ouverte)
Je souhaite en cellule D25 (au lieu de B10) additionner toutes les cellules E22 (au lieu de B4) des feuilles ou la cellule G2(au lieu de B3) est égal à ma cellule B5 (au lieu de B2).
La formule que j’ai mis en place en D25 est la suivante :
=SOMMEPROD(SOMME.SI(INDIRECT(Nomsfeuilles&"!G2");B5;INDIRECT(Nomsfeuilles&"!E22")))
Mais au lieu d’obtenir le résultat j’obtiens #NOM ?

Si quelqu’un peut me dire pourquoi et m’apporter la solution ca serait le top mon problème serait réglé une bonne fois pour toute.

Ps : je joins mes 2 fichiers
 

Pièces jointes

  • Aide formule du forum.xlsm
    19.2 KB · Affichages: 1
  • Version pre-final - TEST.xlsm
    30.6 KB · Affichages: 1

Discussions similaires

Statistiques des forums

Discussions
311 740
Messages
2 082 041
Membres
101 879
dernier inscrit
Arthur M