Remplacer nom feuille par contenu cellule dans formule Excel

Résolu
Flodel35 Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   -  
ALS35 Messages postés 1033 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

3 réponses

ALS35 Messages postés 1033 Date d'inscription   Statut Membre Dernière intervention   144
 
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
0
Flodel35 Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup c'est exactement ce que je cherchais, ça fonctionne parfaitement!
0
Yoyo01000 Messages postés 1639 Date d'inscription   Statut Membre Dernière intervention   167
 
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)
0
Flodel35 Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
 
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!
0
Yoyo01000 Messages postés 1639 Date d'inscription   Statut Membre Dernière intervention   167 > Flodel35 Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
 
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 :-)
0
ALS35 Messages postés 1033 Date d'inscription   Statut Membre Dernière intervention   144 > Yoyo01000 Messages postés 1639 Date d'inscription   Statut Membre Dernière intervention  
 
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
0