Microsoft 365 Recopier le résultat d'une fonction INDIRECT

Eisas_fr

XLDnaute Nouveau
Bonjour à toutes et tous,
Par une fonction indirect je récupère la valeur d'une cellule d'une autre feuille du classeur mais comme l'argument est entre guillemets, quand je recopie la formule dans les autres cellules du tableau, la référence ne s'incrémente pas... Sniff !
Pouvez-vous m'aider ?
Un grand merci d'avance.
Éric
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Tu peux essayer en A1 de la feuille1
=indirect("Feuil2!A"&ligne()) qui te donne la valeur de Feuil2!A1
en copiant vers le bas tu auras la valeur de A2 puis A3 etc..

Sinon annexe un petit exemple de ton soucis.

JHA
 

Eisas_fr

XLDnaute Nouveau
Merci encore pour ton aide !
Dans le fichier joint, modifié à partir du tien, tu verras mieux ce que j'essaie d'obtenir.
La cellule en rouge de la dernière feuille est une liste déroulante qui permet de choisir la feuille de référence.
Dans mon tableau, je ne comprends pas pourquoi la formule :
=INDIRECT("'"&$D$2&"'!"&"ADRESSE(LIGNE();COLONNE();4)""")
ne fonctionne pas !
 

Pièces jointes

  • Classeur essai indirect.xlsx
    16.6 KB · Affichages: 1

soan

XLDnaute Barbatruc
oui, ça c'est normal, et même obligé de mettre un nom de feuille entre apostrophes
s'il contient au moins un espace ; on peut même mettre entre apostrophes un nom
de feuille qui ne contient aucun espace, donc là, les apostrophes sont facultatives.

si tu mets des apostrophes, la 2ème apostrophe doit être juste avant le signe « ! » ;
il y aura donc :
=INDIRECT(...&"'!"&...)

soan
 
Dernière édition:

manuZ51

XLDnaute Nouveau
Bonsoir j'ai le meme probleme ;)
j'utilise la fonction suivante =INDIRECT(A43&"!b4") (la cellule A43 etant la cellule ou par une liste deroulante je recupere le nom de la feuille, ensuite b4 etant l'information que je recupere sur cette feuille selectionnée. et bien entendu je veux pouvoir etirer cette formule pour recuperer b5, b6 etc.... et je n'arrive pas a le faire avec la formule que vous avez mentionné ci-dessous par JHA et je ne comprends pas cette fonction ligne ou adresse. je voulais utiliser aussi =DECALER(INDIRECT($A$43);LIGNE();0;1;1) mais cela plante si vous aviez un eclaircissement cela serai bien.
pour la fonction decaler j'ai regroupé toutes les données dans la meme feuille mais le plus simple sera une gestion des infos par feuille j'espere avoir ete explicite
Merci d'avance

MAnu
 

soan

XLDnaute Barbatruc
Bonjour @manuZ51,

essaye : =INDIRECT(A43&"'!B4")

j'ai ajouté une apostrophe juste avant le point d'exclamation ;
si tu étires cette formule vers le bas, tu auras B5, B6, etc...


LIGNE() retourne le n° de ligne de la cellule active ; exemple :
si la cellule active est C2, retour : 2 (car 2 est la 2ème ligne)


COLONNE() retourne le n° de colonne de la cellule active ; exemple :
si la cellule active est C2, retour 3 (car C est la 3ème colonne)


COLONNES($A:D) retourne le nombre de colonnes de A à D : 4

ADRESSE(8;4) retourne l'adresse de la cellule qui est en ligne 8,
colonne 4 : $D$8 (car colonne n° 4 = colonne D, ligne n° 8)

pour DECALER(), ça serait plus facile de t'aider avec un fichier exemple
(sans données confidentielles) ; regarde aussi l'Aide Excel de cette fonction :
dans une cellule vide, tape :
=DECALER( ; puis dans la barre de formule,
clique sur le 1er icône à gauche : « fx » ➯ fenêtre pour DECALER, et lien
bleu d'Aide dans le coin inférieur gauche ; clique dessus.


soan
 
Haut Bas