Microsoft 365 Sommeprod - Double recherche en colonne

Stephxi

XLDnaute Nouveau
Bonjour,
Je recherche à faire une somme en fonction de filtre basés sur des lignes et des colonnes à partir d'un seul tableau.

Dans l'exemple ci-après, je devrais avoir 1 en cellule H46 mais il semble que ma formule soit inopérante. Pouvez vous m'aider svp ?

Par avance, merci !

Stéphane
 

Pièces jointes

  • Aide communauté.xlsx
    56.7 KB · Affichages: 4

AtTheOne

XLDnaute Accro
Supporter XLD
Bonjour à toutes & à tous, bonjour @Stephxi
Dans ton SOMMEPROD tu mélanges lignes et colonnes.
Je te propose de créer un nom qui définit la colonne :
VB:
Nom  : _MacroSélection
Définition : =DECALER(_MacroData;0;EQUIV(Feuil1!H$45;_MacroCalendrier;0)+EQUIV(Feuil1!$E$46;_MacroImpacts;0)-2;;1)
et d'utiliser la formule suivante :
Code:
=SOMMEPROD((_MacroPhase=$C46)*(_MacroServices=$D46)*_MacroSélection)
voir fichier joint
À bientôt

EDIT (vu le nom du fichier ceci est valable pour EXCEL2007)
 

Pièces jointes

  • Filtre dynamique EXCEL2007.xlsx
    59.8 KB · Affichages: 1

JHA

XLDnaute Barbatruc
Bonjour à tous,

A essayer pour l'année 2025
VB:
=SOMMEPROD((DECALER($C$13;EQUIV($C46;$B$14:$B$40;0);;9)=$D46)*(_MacroCalendrier=H$45)*(_MacroImpacts=$E46)*DECALER($C$13;EQUIV($C46;$B$14:$B$40;0);1;9;48))

JHA
 

Pièces jointes

  • Aide communauté.xlsx
    56.5 KB · Affichages: 1

Stephxi

XLDnaute Nouveau
Bonjour à tous,

A essayer pour l'année 2025
VB:
=SOMMEPROD((DECALER($C$13;EQUIV($C46;$B$14:$B$40;0);;9)=$D46)*(_MacroCalendrier=H$45)*(_MacroImpacts=$E46)*DECALER($C$13;EQUIV($C46;$B$14:$B$40;0);1;9;48))

JHA

Bonjour à toutes & à tous, bonjour @Stephxi
Dans ton SOMMEPROD tu mélanges lignes et colonnes.
Je te propose de créer un nom qui définit la colonne :
VB:
Nom  : _MacroSélection
Définition : =DECALER(_MacroData;0;EQUIV(Feuil1!H$45;_MacroCalendrier;0)+EQUIV(Feuil1!$E$46;_MacroImpacts;0)-2;;1)
et d'utiliser la formule suivante :
Code:
=SOMMEPROD((_MacroPhase=$C46)*(_MacroServices=$D46)*_MacroSélection)
voir fichier joint
À bientôt

EDIT (vu le nom du fichier ceci est valable pour EXCEL2007)
Re bonjour ! et oui, joyeuses fêtes à tous !

Merci, j'opte sur la méthode calcul car je ne connais pas VB.
Toutefois, j'ai oublié de préciser que j'ai besoin que la formule se répète afin de créer un autre tableau exploitable pour réaliser un TCD et graphiques. Le mieux est de re regarder dans le fichier joint.
Merci beaucoup

Stéphane
 

Pièces jointes

  • Aide communauté.xlsx
    57 KB · Affichages: 3

AtTheOne

XLDnaute Accro
Supporter XLD
Re
En reportant les résultats dans une autre feuille et en créant un tableau structuré tu as le choix entre deux formules :
Une utilisant le nom défini _Sélection (qui renvoie la colonne Ad Hoc de la plage _MacroData
Enrichi (BBcode):
=INDEX(_Sélection;EQUIV([Phases];_MacroPhases;0)+EQUIV([Services];_MacroServices;0)-1)
Une sans le nom défini (mais qui reprend la formule de _Sélection ou presque)
Enrichi (BBcode):
=INDEX(_MacroData;EQUIV([Phases];_MacroPhases;0)+EQUIV([Services];_MacroServices;0)-1;EQUIV(tb_Macro[#En-têtes];_MacroMois;0)+EQUIV([Impact Code];_MacroImpacts;0)-1)

Nota j'ai ajouté le nom _MacroMois
_MacroData=Feuil1!$D$13:$AY$39
_MacroImpacts=Feuil1!$D$12:$AY$12
_MacroMois=Feuil1!$D$11:$AY$11
_MacroPhases=Feuil1!$B$13:$B$39
_MacroServices=Feuil1!$C$13:$C$39
_Sélection=INDEX(_MacroData;;EQUIV(tb_Macro[#En-têtes];_MacroMois;0)+EQUIV(tb_Macro[Impact Code];_MacroImpacts;0)-1)

À bientôt

EDIT :
Oups dans mon fichier j'ai cassé tes formules pour 2026 en supprimant la ligne des Dates (ligne 12)
 

Pièces jointes

  • Filtre dynamique EXCEL2007 bis.xlsx
    64 KB · Affichages: 1
Dernière édition:

Discussions similaires

P
Réponses
7
Affichages
682
Pilliars
P

Statistiques des forums

Discussions
315 261
Messages
2 117 859
Membres
113 355
dernier inscrit
aithalibi.yassmine@gmail.