Remplacer nom feuille par contenu cellule dans formule Excel
Résolu
Bonjour à tous,
Dans un fichier de suivi de production que je suis en train de créer, je cherche à automiser une feuille de synthèse pour chaque agent. Un dernier problème me résiste, il s'agit de la formule suivante :
C'est une SOMME.SI.ENS avec 4 critères qui fonctionne parfaitement en l'état. Les plages de données se situent dans une autre feuille, nommée avec le nom de chaque agent (en l'occurence "BUISSON"). Je souhaite que la formule fonctionne pour n'importe quel agent en effectuant le minimum de manipulations, j'ai donc créé une cellule (D2) avec le nom de l'agent dans la feuille de synthèse, dans le but d'utiliser cette celulle dans ma formule.
Malheureusement, en remplaçant tous les "BUISSON! par des '"D$2$"'!, Excel me renvoie l'erreur "#VALEUR!".
Un expert d'Excel pour me donner un coup de pouce?
Merci d'avance,
Flodel35
Dans un fichier de suivi de production que je suis en train de créer, je cherche à automiser une feuille de synthèse pour chaque agent. Un dernier problème me résiste, il s'agit de la formule suivante :
=SOMME.SI.ENS(BUISSON!$L$7:$L$1048576;BUISSON!$G$7:$G$1048576;B17;BUISSON!$P$7:$P$1048576;"Conclu";BUISSON!$Q$7:$Q$1048576;">="&"01/01/" & $I$2;BUISSON!$Q$7:$Q$1048576;"<="&"30/04/" &$I$2)
C'est une SOMME.SI.ENS avec 4 critères qui fonctionne parfaitement en l'état. Les plages de données se situent dans une autre feuille, nommée avec le nom de chaque agent (en l'occurence "BUISSON"). Je souhaite que la formule fonctionne pour n'importe quel agent en effectuant le minimum de manipulations, j'ai donc créé une cellule (D2) avec le nom de l'agent dans la feuille de synthèse, dans le but d'utiliser cette celulle dans ma formule.
Malheureusement, en remplaçant tous les "BUISSON! par des '"D$2$"'!, Excel me renvoie l'erreur "#VALEUR!".
Un expert d'Excel pour me donner un coup de pouce?
Merci d'avance,
Flodel35
3 réponses
-
Bonjour,
Il faut concaténer le nom de la feuille (variable) avec la plage et utiliser la fonction INDIRECT pour que ce soit une référence compréhensible pour Excel
Remplace toutes tes occurrences avec BUISSON comme ceci, exemple pour la première
BUISSON!$L$7:$L$1048576
par
INDIRECT($D$2&"!$L$7:$L$1048576")
à faire également pour toutes les autres
Cordialement -
Merci beaucoup c'est exactement ce que je cherchais, ça fonctionne parfaitement!
-
Bonjour,
à tester :
=SOMME.SI.ENS(INDIRECT("'"&$D$2&"'!$L$7:$L$1048576");INDIRECT("'"&$D$2&"'!$G$7:$G$1048576");B17;INDIRECT("'"&$D$2&"'!$P$7:$P$1048576");"Conclu";INDIRECT("'"&$D$2&"'!$Q$7:$Q$1048576");">="&"01/01/" & $I$2;INDIRECT("'"&$D$2&"'!$Q$7:$Q$1048576");"<="&"30/04/" &$I$2)-
-
@Flodel35Plus long oui et non, j'ai juste posté votre formule entière en y incluant les INDIRECT ;)
Le plus important, c'est que cela fonctionne :-) -
@Yoyo01000La différence rajoutée par Yoyo1000 (salutations) ce sont les ' (apostrophes) qui entourent le nom de la feuille ($D$2) et qui sont nécessaires si ce nom comporte un espace (nom composé par exemple).
Donc tout dépend du nom de tes agents !
Cordialement
-