Problème de Formule avec Nom de la Feuille en Variable

  • Initiateur de la discussion Initiateur de la discussion tounsy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

tounsy

XLDnaute Nouveau
Bonjour,

Je fais à nouveau appel à vous pour un problème que je n'arrive pas à regler 😕

Dans un fichier Excel, j'ai une feuille par utilisateur.
Chaque utilisateur devra renseigner le prévisionnel et le réaliser pour chacune de ses tâches. (feuilles Detail1, Detail2, etc...)

J'ai ensuite une feuille de Synthèse dans lequel je selectionne en B2 l'utilisateur que je souhaite voir (liste deroulante)

La formule ci-dessous (en C4) me parait fonctionnelle :

=(SOMMEPROD(((INDIRECT($B$2&"!$P$2:$DO$2")=$C$3)*((INDIRECT($B$2&"!$P$1:$DO$1")>="SEMAINE "&WEEKNUM(AUJOURDHUI();2)-1)*((INDIRECT($B$2&"!$P$1:$DO$1")<="SEMAINE "&WEEKNUM(AUJOURDHUI();2)+2)*(INDIRECT($B$2&"!P3😀O3")))))))


mais la partie en gras m'empeche de faire glisser la formule vers les autres cellules...

En effet, en C5 jaurais voulu :
=(SOMMEPROD(((INDIRECT($B$2&"!$P$2:$DO$2")=$C$3)*((INDIRECT($B$2&"!$P$1:$DO$1")>="SEMAINE "&WEEKNUM(AUJOURDHUI();2)-1)*((INDIRECT($B$2&"!$P$1:$DO$1")<="SEMAINE "&WEEKNUM(AUJOURDHUI();2)+2)*(INDIRECT($B$2&"!P4😀O4")))))))

en C6 :
=(SOMMEPROD(((INDIRECT($B$2&"!$P$2:$DO$2")=$C$3)*((INDIRECT($B$2&"!$P$1:$DO$1")>="SEMAINE "&WEEKNUM(AUJOURDHUI();2)-1)*((INDIRECT($B$2&"!$P$1:$DO$1")<="SEMAINE "&WEEKNUM(AUJOURDHUI();2)+2)*(INDIRECT($B$2&"!P5😀O5")))))))

etc....

Auriez-vous une astuce SVP ?

Merci ! 🙂
 

Pièces jointes

Dernière édition:
Re : Problème de Formule avec Nom de la Feuille en Variable

Bonsoir tounsy,

Je te propose cette formule qui n'est pas très élégante mais qui fonctionne.
Code:
=(SOMMEPROD(((INDIRECT($B$2&"!$P$2:$DO$2")=$C$3)*((INDIRECT($B$2&"!$P$1:$DO$1")>="SEMAINE "&NO.SEMAINE(AUJOURDHUI();2)-1)*((INDIRECT($B$2&"!$P$1:$DO$1")<="SEMAINE "&NO.SEMAINE(AUJOURDHUI();2)+2)*[COLOR=Red][B](SI($B$2="Detail";DECALER(Detail!$O2;1;1;1;104);SI($B$2="Detail2";DECALER(Detail2!$O2;1;1;1;104);DECALER(Detail3!$O2;1;1;1;104))[/B][/COLOR])))))))
Dis moi ce que tue en penses.

A+
 
Re : Problème de Formule avec Nom de la Feuille en Variable

en C6:
INDIRECT($B$2&"!P5O5")

Équivaut à

INDIRECT($B$2&"!P" & "5" & "O" & "5")

Ensuite tu remplace tes 5 par la ligne (ici la 6) moins 1


Donc
INDIRECT($B$2&"!P" & Ligne() -1 & "O" & Ligne() - 1)



en C6 tu met donc :
=(SOMMEPROD(((INDIRECT($B$2&"!$P$2:$DO$2")=$C$3)*( (INDIRECT($B$2&"!$P$1:$DO$1")>="SEMAINE "&WEEKNUM(AUJOURDHUI();2)-1)*((INDIRECT($B$2&"!$P$1:$DO$1")<="SEMAINE "&WEEKNUM(AUJOURDHUI();2)+2)*(INDIRECT($B$2&"!P" & Ligne() -1 & "O" & Ligne() - 1)))))))
 
Re : Problème de Formule avec Nom de la Feuille en Variable

Bonjour et merci pour vos réponses

@Fred0o : ta solution fonctionne mais je serait obligé de modifier la formule à chaque ajout de feuille 🙁

@Habitude : Je n'arrive malheureusment pas à mettre en application tes explications (pourtant bien detaillées 😉 ), je met à jour le fichier excel avec l'erreur ...

Merci encore pour votre aide !😱
 
Re : Problème de Formule avec Nom de la Feuille en Variable

en C6 tu met donc :
=(SOMMEPROD(((INDIRECT($B$2&"!$P$2:$DO$2")=$C$3)*( (INDIRECT($B$2&"!$P$1:$DO$1")>="SEMAINE "&WEEKNUM(AUJOURDHUI();2)-1)*((INDIRECT($B$2&"!$P$1:$DO$1")<="SEMAINE "&WEEKNUM(AUJOURDHUI();2)+2)*(INDIRECT($B$2&"! P" & Ligne() -1 & ":$D$O" & Ligne() - 1)))))))

attention le $:$D a disparu et ta donné un sourire

Aussi WeekNum en anglais et aujourdhui en francais
ca marche pas

a essayer avec joursem


=(SOMMEPROD(((INDIRECT($B$2&"!$P$2:$DO$2")=$C$3)*( (INDIRECT($B$2&"!$P$1:$DO$1")>="SEMAINE "&JOURSEM(AUJOURDHUI();2)-1)*((INDIRECT($B$2&"!$P$1:$DO$1")<="SEMAINE "&JOURSEM(AUJOURDHUI();2)+2)*(INDIRECT($B$2&"! P" & Ligne() -1 & "$D$O" & Ligne() - 1)))))))



Et tes parenthès sont à la mauvaise place

=SOMMEPROD((INDIRECT($B$2&"!$P$2:$DO$2")=$C$3)*(INDIRECT($B$2&"!$P$1:$DO$1")>="SEMAINE "&JOURSEM(AUJOURDHUI();2)-1)*(INDIRECT($B$2&"!$P$1:$DO$1")<="SEMAINE "&JOURSEM(AUJOURDHUI();2)+2)*(INDIRECT($B$2&"! P" & Ligne() -1 & "$D$O" & Ligne() - 1)))


Sauf que tu obtiens toujours valeur car je crois que la fonction Indirect ne valide pas d'autre fonction
comme Ligne
 
Dernière édition:
Re : Problème de Formule avec Nom de la Feuille en Variable

Merci Habitude pour ton aide 😉

Aussi WeekNum en anglais et aujourdhui en francais
Apparement ce melange Anglais-Français fonctionne bien chez moi (déja essayé avec d'autres fichiers)


Et tes parenthès sont à la mauvaise place
J'ai effectué les corrections mais toujours le même problème ....

Lorsque je change les valeures manuellement P3 : DO3 en P4 : DO4 P5 : DO5, etc... tout fonctionne.....

Tu n'aurais pas une autre piste ?

Merci encore !
 
Re : Problème de Formule avec Nom de la Feuille en Variable

INDIRECT($B$2&"! P" & Ligne() -1 & "$D$O" & Ligne() - 1)
Revoie la bonne valeur
SommeProd ne l'aime pas

j'ai mis en colonne B la valeur
=$B$2&"! P" & Ligne() -1 & "$D$O" & Ligne() - 1

Et j'ai mis un Indirect(B?)
Et ca fonctionne

Regarde le fichier
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
411
Réponses
4
Affichages
779
Retour