Excel: contenu de cellule d'autres feuilles dans un tableau

Résolu
julien -  
 julien -
Bonjour à tous,

Sur ma feuille 1, j'ai un tableau avec en colonne A des noms.

En colonne B, j'aimerais récupérer les contenus des cellules des autres feuilles:

en B2, le contenu de B15:B17 de la feuille 3
en B3, el contenu de B15:B17 de la feuille 4

etc...

Je ne m'y connais pas beaucoup en macro mais est ce qu'il est possible de le faire via ce biais?

Est ce que si les feuilles ont toutes des noms différents il est quand meme possible de le faire? est ce que si j'ajoute une feuille et relance la macro ça marche encore?

Merci d'avance à tous!

Julien.

1 réponse

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonsoir Julien

    Y a-t-il un rapport entre les noms en A et les noms des feuilles ?
    Pour savoir comment rapatrier les données par formules ou par macro selon le cas il faut connaitre la structure exacte de ton fichier.
    Postes un exemple allégé et anonymé (en changeant les noms) sur le site cjoint.com, fais créer le lien et reviens ici indiquer le lien fourni

    Cdlmnt
    Via
    0
    1. julien
       
      Merci via pour ta réponse!

      je pense que je peux etre plus clair avec un exemple:

      J'ai une feuille excel et sur celle ci:
      en colonne A a partir de A2 des noms qui correspondent à ceux de certaines autres feuilles

      Donc exemple:
      A2: Nicolas
      En B2, j'aimerais avoir le contenu de la cellule B15 de la feuille "Nicolas"

      A3: Jeanne
      En B3 j'aimerais avoir le contenu de la cellule B15 de la feuille "Jeanne"

      Etc.

      Est ce que cela est possible?

      Est ce que c'est possible que ce soit dynamique? c'est à dire que si je modifie le contenu de B15 de "jeanne", cela se modifie automatiquement sur ma feuille de regroupement?

      Voila le lien vers le document: http://www.cjoint.com/c/EFpuMjPEH53

      Merci à toi encore une fois ;)
      0
    2. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759 > julien
       
      Re

      Oui parfaitement possible, il suffit en B2 de la feuille 1er trimestre de mettre al formule :
      =INDIRECT(A2&"!B15")
      et de l'étier ensuite vers le bas
      INDIRECT reconstitue une adresse valide en concaténant le nom en A2 avec l'expression entre ""; on obtient l'adresse nicolas!B15 et le contenu de la cellule B15 de la feuille nicolas est retourné en B2

      Cdlmnt
      Via
      0
    3. julien > via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention  
       
      Encore une fois, merci pour ta réponse ;)

      J'ai fait ce que tu m'as dit mais il m'affiche #REF!...

      Est ce que tu sais me dire pourquoi?

      Autre question, si l'onglet en question n'existe pas encore, j'imagine que cela n'est pas grave mais lorqu'il va exister, est ce que la cellule se complète du coup?

      Merci d'avance, je sais que je dois etre un peu casse pied :/
      0
    4. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759 > julien
       
      Bonsoir julien

      Si c'est indiqué #REF c'est que la référence n'est pas valide
      Bien vérifier que le nom en colonne A et le nom de la feuille sont strictement identiques (pas d'espace supplémentaire ou autre)
      Si malgré tout il y a toujours une erreur postes moi ton fichier avec la formule sur cjoint.com

      Lorsque l'onglet n'existe pas encore tu auras une erreur #REF qui disparaitra au profit de la valeur de la cellule de l'onglet lorsqu'il existera
      Si tu veux éviter l'affichage disgracieux de #REF complété la formule avec une gestion de l'erreur pour faire afficher du vide (les "") au lieu du message d'erreur:
      =SIERREUR(INDIRECT(A2&"!B15") ;"")

      Cdlmnt
      Via
      0
    5. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Bonjour
      et salut via.. je me permet une petite info complémentaire qui pourrait servir
      si le nom de l'onglet contient un opérateur (tiret moins par exemple) ou un ou plusieurs blancs entre les mots, il faut l'encadrer avec des apostrophes
      alors soit on place les apostrophes en A2
      soit on écrit la formule comme suit:
      =INDIRECT("'"&A2&"'!B15")
      avec une apostrophe entre guillemets au début et une devant le point d'exclamation.
      Bonne soirée
      crdlmnt
      0