• Initiateur de la discussion Initiateur de la discussion andré
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

andré

Guest
Salut à toutes et à tous,

Dans une formule du type :

=RECHERCHEV(A1;[Classeur1]Feuil1!$A:$B;2;FAUX)

je souhaite remplacer [Classeur1] (ou : [Classeur1]Feuil1!$A:$B) par la réference d'une cellule contenant le texte [Classeur1] (ou ...), de manière à pouvoir choisir le classeur auquel je veux me rattacher (petite liste de validation, of course).

Quelqu'un aurait-il une idée ?

Ândré.
 
Oui, tu peux utiliser la fonction INDIRECT (celle que Monique et moi on n'aime pas!)

BipBip.gif
 
Salut C@thy,

Je n'avais pas songé à placer la fonction INDIRECT à l'intérieur d'une formule. merci.

Il y a quelque temps, suite à une autre question à laquelle vous (Monique et toi) m'avez répondu si gentillement, je vous avais demandé pourquoi vous n'aimiez pas cette fonction.
Je n'ai pas eu le plaisir de lire votre réponse.
Peut-elle créer des problèmes, ou simplement être dangeureuse à manipuler par des non initiés ?

Ândré.
 
Bonjour,

Personnellement, je n'ai pas eu de problèmes avec la fonction INDIRECT, parce que je ne l'utilise pas. Et si je ne l'utilise pas, c'est parce que je ne la comprends pas. Et si je ne la comprends pas, c'est peut-être parce que j'ai une allergie à cette fonction.
Vu son nom, à ta place, je me méfierais.
 
André,

comme Monique!

Je l'aime pas (la fonction INDIRECT), elle ne m'a rien fait mais je l'aime pas, c'est tout, pourtant elle est bien pratique.

Oui, c'est sûrement le nom, INDIRECT du gauche ça fait pas du bien! hi!hi!hi!

Moi, je suis une fille directe, j'aime pas les détours (heureusement, y'a pas de fonction DETOUR).

BipBip.gif
 
Merci les filles,

Moi j'aime tout ce qui fonctionne bien, mais hélas, après essais divers, la solution de C@thy n'est pas une solution à mon problème.

En effet, ce n'est pas une réference entière que je veux remplacer dans toute une feuille, uniquement le chemin d'accès sans la réference de la cellule.

Exemple : j'ai dans un classeur quelques centaines de cellules faisant réference à quelques centaines de cellules d'un autre classeur, dans des formules du type =[Classeur1]Feuil1! A1, =[Classeur1]Feuil1!A2, =[Classeur1]Feuil1!A3, ...
Je veux remplacer toutes les réferences [Classeur1] par des [Classeur2] ou les [Classeur1]Feuil1! par des [Classeur1]Feuil2! ou les [Classeur1]Feuil1! par des [Classeur2]Feuil2!.

Actuellement je sélectionne ma feuille et apporte la modification par un "Remplacer tout".

Pour accélérer la procédure et éviter des erreurs, j'avais songé à taper la nouvelle réference (ou liaison), mais sans la réference de la cellule, dans une cellule quelconque de ma feuille et de faire réference à cette dernière dans mes formules.

Une petite liste de validation avec toutes les possibiltés de réferences m'aurait permis de faire très rapidement des simulations.

La fonction INDIRECT me permet de le faire, mais réference à la cellule comprise, ce qui ne m'avance pas.
Il me reste toujours la macro avec deux listes de validation (la réference existante et la nouvelle) et le "Remplacer Tout".

J'aurais aimé être plus rapide.
Alors si vous avez des idées ...

Ândré.
 
Reasalut les filles,

Je crois avoir trouvé :

=INDIRECT(réference de la cellule reprenant le chemin d'accès sans la reference à la cellule&"réference à la cellule de l'autre classeur ou feuille").

Ceci donne : =INDIRECT(A1&"B1") si A1 est la réference de l'autre classeur (ou feuille) et B1 la réference de la cellule dans l'autre feuille.

Voilà une nouvelle épine que je classe dans ma vitrine-musée (qui commence à bien se remplir, grâce à vous - lol).

Encore merci pour le coup de main.
Ândré.
 
Bonjour, Tout le monde

Quel sont les inconvénients de la fonction INDIRECT(), tu veux faire un glisser-déposer ?, tu n'as plus l'adresse évolutive, si modification de lignes ou de colonnes de ta cellule de référence ?

@+Jean-Marie
 
Salut Jean-Marie,

Tout à fait exact, je n'y avais pas songé !

Mais comme dans mon cas précis je l'emploie dans un RECHERCHEV sur des colonnes entières, je ne cours pas ce risque.

En B2 de la Feuil2 : =SI(A2="";"";RECHERCHEV(A2;INDIRECT($A$1&"A:B");2;FAUX))
la cellule A1 contenant le texte : Feuil1!

Je viens de tester en créant des lignes supplémentaires, des copies vers le bas, et pas de problème.
Merci quand même de m'avoir averti.

Ândré.
 
Coucou, André, Jean-Marie, Monique,

effectivement, si on fait référence à A10 et que, suite à insertion, suppression de lignes, colonnes, ou déplacement de A10 par cliquer-glisser, A10 ne se trouve plus en A10 et que l'on veut que cela reste A10 malgré tout, il faut faire :

=INDIRECT(INDIRECT("A10"))

(pour compléter ta vitrine-musée)

BipBip.gif
 
Re...

La formule =INDIRECT(ADRESSE(Ligne(Feuil2!A10);colonne(Feuil2!A10))),
supprime l'inconvénient d'une déclaration de cellule fixe.

Il y a aussi la formule =INDIRECT("L"&LIGNE(Feuil2!A10)&"C"&COLONNE(Feuil2!A10);faux)

@+Jean-Marie
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
773
Retour