Référence à une feuille depuis une cellule

Résolu
touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   -  
Le Pingou Messages postés 12273 Date d'inscription   Statut Contributeur Dernière intervention   -

Bonjour le forum !

Je souhaite récupérer le contenu d'une cellule située sur une autre feuille.
Jusque là, ça va.

Mais le nom de cette feuille doit être pris dans une cellule de la feuille courante, et ça je n'y arrive pas.

J'ai essayé

="'"&C7&"'!A1"

Mais ça me renvoie du texte, et pas ma valeur.

Puis-je vous demander de l'aide pour corriger ma syntaxe ?

https://www.cjoint.com/c/MDbicC30FOv


Merci par avance


Windows / Firefox 111.0

11 réponses

  1. yclik Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   1 608
     

    Bonjour

    A tester

    =INDIRECT(C7&"!A1")
    1
  2. cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention   383
     

    Re-,

    Regarde sur le site du regretté JBoisgontier les conditions d'utilisation de la fonction INDIRECT (notamment pour les noms d'onglet spéciaux...)

    http://boisgontierj.free.fr/pages_site/indirect.htm

    Bonne lecture


    1
  3. touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   16
     

    Bonjour Yclik (c'est marrant comme pseudo, ça :) )

    Ça fonctionne, merci beaucoup !

    Bonne journée

    0
  4. touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   16
     

    Hummm j'ai d'autres soucis ...

    En effet, sur l'exemple, ça fonctionne, mais appliqué à une formule INDEX/EQUIV, il n'en veut pas ...

    En gros ça donne :

    =INDEX(INDIRECT(C7&"!$T$2:$T$1000");EQUIV(1;(INDIRECT(C7&"!$H$2:$H$1000")=$D$2)*(INDIRECT(C7&"!$L$2:$L$1000")=$D$3)*(INDIRECT(C7&"!$F$2:$F$1000")=$D$4);0);1)

    Mais il me rend "#REF!" le vilain ... alors que lorsque je fais référence directement à la feuille, j'ai mon résultat.

    Existe-t-il une autre manière d'exprimer la référence à une feuille via le contenu d'une cellule ?
    Merci !

    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. yclik Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   1 608
     
    re
    
    EQUIV(1;(INDIRECT(C7&"!$H$2:$H$1000")=$D$2
     me semble erroné

    1 serait le critère de recherche

    INDIRECT(C7&"!$H$2:$H$1000" la plage de recherche

    alors pourquoi =$D$2

    0
  7. cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention   383
     

    Bonjour,

    Est-ce que les noms des onglets comportent des espaces, caractères spéciaux ou apostrophes?


    0
  8. touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   16
     

    $D$2 représente la valeur recherchée dans la plage $H$2:$H$1000

    C'est une recherche multicritères.

    Par ailleurs, lorsque je saisis :

    =INDEX('Peugeot'!$T$2:$T$1000;EQUIV(1;('Peugeot'!$H$2:$H$1000=$D$2)*('Peugeot'!$L$2:$L$1000=$D$3)*('Peugeot'!$F$2:$F$1000=$D$4);0);1)

    ... j'obtiens le bon résultat.

    Bonjour CousinHub.

    Est-ce que les noms des onglets comportent des espaces, caractères spéciaux ou apostrophes? Oui, des espaces, en effet ...

    J'ai juste besoin de remplacer le 'Peugeot'! par le contenu de la cellule C7, pour l'appliquer à de très nombreux calculs.

    Merci !:

    0
  9. Le Pingou Messages postés 12273 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     

    Bonjour touroul,

    Avec quelques données qui correspondent pour voir le résultat de votre formule se serait plus profitable ...!


    0
  10. touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   16
     

    Bonjour Le Pingou

    Je dois m'absenter, je reprends ça ce soir avec un fichier d'exemple.

    A plus tard.

    0
  11. touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   16
     

    Eurêka !

    En effet, c'est feu Jacques Boisgontier qui, une fois de plus, en aura aidé un.

    Voici la bonne syntaxe :

    =INDEX(INDIRECT("'"&$C7&"'!$T$2:$T$1000");EQUIV(1;(INDIRECT("'"&$C7&"'!$H$2:$H$1000")=Peugeot!$D$2)*(INDIRECT("'"&$C7&"'!$L$2:$L$1000")=Peugeot!$D$3)*(INDIRECT("'"&$C7&"'!$F$2:$F$1000")=Peugeot!$D$4);0);1)
    Merci de vous y être penchés et bonne soirée
    
    0
  12. Le Pingou Messages postés 12273 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     

    Bonjour,

    Merci du retour.

    Petite remarque, il y a toujours le nom de la feuille concernée dans la formule ....(Peugeot) alors que vous vouliez utiliser le   critère d'une cellule...!


    0