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

tounsy

XLDnaute Nouveau
Bonjour,

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

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:DO3")))))))


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:DO4")))))))

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:DO5")))))))

etc....

Auriez-vous une astuce SVP ?

Merci ! :)
 

Pièces jointes

  • Test.zip
    22.4 KB · Affichages: 31
  • Test.zip
    22.4 KB · Affichages: 31
  • Test.zip
    22.4 KB · Affichages: 27
Dernière édition:

Fred0o

XLDnaute Barbatruc
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+
 

Habitude

XLDnaute Accro
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)))))))
 

tounsy

XLDnaute Nouveau
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 !:eek:
 

Habitude

XLDnaute Accro
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:

tounsy

XLDnaute Nouveau
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 !
 

Habitude

XLDnaute Accro
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

  • test.zip
    23.6 KB · Affichages: 31
  • test.zip
    23.6 KB · Affichages: 30
  • test.zip
    23.6 KB · Affichages: 30
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 955
Membres
103 989
dernier inscrit
jralonso