Remplacer nom feuille par contenu cellule dans formule Excel

Résolu
Flodel35 Messages postés 28 Statut Membre -  
ALS35 Messages postés 1034 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

3 réponses

  1. ALS35 Messages postés 1034 Date d'inscription   Statut Membre Dernière intervention   147
     
    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
  2. Flodel35 Messages postés 28 Statut Membre
     
    Merci beaucoup c'est exactement ce que je cherchais, ça fonctionne parfaitement!
    0
  3. Yoyo01000 Messages postés 1720 Date d'inscription   Statut Membre Dernière intervention   168
     
    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
    1. Flodel35 Messages postés 28 Statut Membre
       
      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
      1. Yoyo01000 Messages postés 1720 Date d'inscription   Statut Membre Dernière intervention   168 > Flodel35 Messages postés 28 Statut Membre
         
        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
      2. ALS35 Messages postés 1034 Date d'inscription   Statut Membre Dernière intervention   147 > Yoyo01000 Messages postés 1720 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