Formule construisant l'adresse d'une cellule
Bonjour,
Je souhaite recopier dans une cellule la valeur d'une autre cellule située sur une autre feuille (du même classeur). Pour cela, rien de plus simple:
=Feuil2!C7
Le problème se pose lorsque je souhaite dynamiser cette formule en lisant le nom de la feuille dans une cellule de paramétrage $A$1:
Si Le contenu de la cellule $A$1 est "Feuil2", alors la formule récupère le contenu de la cellule Feuil2!C7
Si Le contenu de la cellule $A$1 est "Feuil3", alors la formule récupère le contenu de la cellule Feuil3!C7
Dernière difficulté, je voudrais que cette formule soit générique, c'est à dire qu'il n'y ait pas besoin de la modifier si un nouvel onglet apparaît.
Quelqu'un aurait-il une idée?
Merci par avance.
Christophe
Bonsoir
Pour transformer une adresse de cellule écrite sous forme de texte, il faut utiliser la fonction INDIRECT.
Pour composer une adresse de cellule, tu as le choix entre la fonction ADRESSE, ou la concaténation de champ
Attention, l'écriture des références en texte, doit respecter certaine règle, quand le texte de nom de la feuille ou du classeur contient un espace il faut utiliser les bornes '
en début de référence et avant le '. Les bornes ' ne nuisent pas quand le texte de la feuille ou du classeur ne contient pas d'espace.
=INDIRECT($A$1&"!C7") ou =INDIRECT("'"&$A$1&"!C7")
ou
=INDIRECT(ADRESSE(7;3;;;$A$1))
Attention, si la référence pointe sur un autre fichier, il faut que celui-ci soit ouvert pour que cela fonctionne.
J'espère avoir été le plus complet dans ma réponse.
@+Jean-Marie
Bonjour,
Deux petites précisions :
Si le fichier source n'est pas ouvert, il faut spécifier le chemin complet du classeur, par exemple : =C:\....
La fonction INDIRECT ne fonctionne pas entre classeurs.
Pour le faire il faut télécharger la macro complémentaire Morefunc, qui contient la fonction INDIRECT.EXE
Bonsoir
André, deux choses :
1) J'ai essayé en mettant la description de l'arborescence du fichier
La fonction INDIRECT me renvoie un message d'erreur, même si le fichier est ouvert. En supprimant cette description, le message d'erreur est affiché uniquement quand le fichier n'est pas ouvert, et la valeur est affichée dès l'ouverture du fichier pointé.
Donne moi, un exemple de structure de la chaîne que tu utilises pour que moi aussi je puisse le reproduire ce que tu dis.
2)Je n'ai pas compris ce que tu voulais dire par : La fonction INDIRECT ne fonctionne pas entre classeurs. , peux-tu préciser ta pensée.
@+Jean-Marie[/list]