Remplacer nom feuille par contenu cellule dans formule Excel [Résolu]

Signaler
Messages postés
19
Date d'inscription
jeudi 25 juin 2020
Statut
Membre
Dernière intervention
23 juillet 2020
-
Messages postés
509
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
14 octobre 2020
-
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 :

=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

Messages postés
509
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
14 octobre 2020
23
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
Messages postés
19
Date d'inscription
jeudi 25 juin 2020
Statut
Membre
Dernière intervention
23 juillet 2020

Merci beaucoup c'est exactement ce que je cherchais, ça fonctionne parfaitement!
Messages postés
1065
Date d'inscription
samedi 2 février 2019
Statut
Membre
Dernière intervention
14 octobre 2020
107
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)
Messages postés
19
Date d'inscription
jeudi 25 juin 2020
Statut
Membre
Dernière intervention
23 juillet 2020

Bonjour,

Merci beaucoup, même solution que ALS35 (en un tout petit peu plus long) que je ne vais donc pas tester mais qui doit également fonctionner et répondre à mon besoin!
Messages postés
1065
Date d'inscription
samedi 2 février 2019
Statut
Membre
Dernière intervention
14 octobre 2020
107 >
Messages postés
19
Date d'inscription
jeudi 25 juin 2020
Statut
Membre
Dernière intervention
23 juillet 2020

Plus 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 :-)
Messages postés
509
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
14 octobre 2020
23 >
Messages postés
1065
Date d'inscription
samedi 2 février 2019
Statut
Membre
Dernière intervention
14 octobre 2020

La 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