Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Référence externe à un classeur variable dans une formule

6 réponses
Avatar
Elpaco
Bonjour =E0 tous,=20

Je vous serais reconnaissant si qqun peut m'aider =E0=20
r=E9soudre le pb suivant en utilisant une formule (pas de=20
macro):

dans ma formule, je souhaite faire r=E9f=E9rence =E0 une cellule=20
fixe (ex A1) appartenant =E0 un classeur variable dont le=20
nom serait contenu dans une cellule de r=E9f=E9rence.

Par exemple : en B2 : =3D'[chose.xls]Feuil1'!A1
mon pb, c'est que une fois je veux aller chercher la=20
cellule A1 dans chose.xls, et une autre fois ce sera dans=20
truc.xls.
Au moment o=F9 je calculerais ma feuille, je saurais dans=20
quel classeur aller chercher cette donn=E9e mais pas avant.

donc en B1, je me propose de saisir (ou de calculer) en=20
format texte [chose.xls] ou [truc.xls]

mon pb c'est que je ne sais pas quelle syntaxe utiliser=20
dans ma formule pour agglom=E9rer cette reference au=20
classeur o=F9 je veux pointer et la cellule que je veux=20
pointer .
En effet si en B2, je mets =3D (B1)&Feuil1!A1, =E7a ne=20
fonctionne evidemment pas.

J'espere que c'=E9tait clair.
Merci pour votre aide par avance.

Mon sentiment est que ce n'est pas possible dans une=20
formule (alors que c'est tres facile =E0 faire dans une=20
macro) mais je peux me tromper ...
Merci encore

6 réponses

Avatar
Pierre CFI
bonjour
avec INDIRECTE("'[" & B1 & "]Feuil1'!A1")
dans b1 fichier.xls

--
Pierre CFI
Microsoft MVP Access

Pour mieux utiliser microsoft.public.fr.access...
http://users.skynet.be/mpfa/charte.htm

"Elpaco" a écrit dans le message de news:
06d901c377ad$10fc3ec0$
Bonjour à tous,

Je vous serais reconnaissant si qqun peut m'aider à
résoudre le pb suivant en utilisant une formule (pas de
macro):

dans ma formule, je souhaite faire référence à une cellule
fixe (ex A1) appartenant à un classeur variable dont le
nom serait contenu dans une cellule de référence.

Par exemple : en B2 : ='[chose.xls]Feuil1'!A1
mon pb, c'est que une fois je veux aller chercher la
cellule A1 dans chose.xls, et une autre fois ce sera dans
truc.xls.
Au moment où je calculerais ma feuille, je saurais dans
quel classeur aller chercher cette donnée mais pas avant.

donc en B1, je me propose de saisir (ou de calculer) en
format texte [chose.xls] ou [truc.xls]

mon pb c'est que je ne sais pas quelle syntaxe utiliser
dans ma formule pour agglomérer cette reference au
classeur où je veux pointer et la cellule que je veux
pointer .
En effet si en B2, je mets = (B1)&Feuil1!A1, ça ne
fonctionne evidemment pas.

J'espere que c'était clair.
Merci pour votre aide par avance.

Mon sentiment est que ce n'est pas possible dans une
formule (alors que c'est tres facile à faire dans une
macro) mais je peux me tromper ...
Merci encore
Avatar
AV
avec INDIRECTE("...


Serait-ce que les fonctions seraient sexuées maintenant ?
Je pencherais plutôt pour une déclaration de type hermaphrodite !
;-)
AV

Avatar
Pierre CFI
là, tu as raison c'est un fonction, pas de E :O))

--
Pierre CFI
Microsoft MVP Access

Pour mieux utiliser microsoft.public.fr.access...
http://users.skynet.be/mpfa/charte.htm

"AV" a écrit dans le message de news:

avec INDIRECTE("...


Serait-ce que les fonctions seraient sexuées maintenant ?
Je pencherais plutôt pour une déclaration de type hermaphrodite !
;-)
AV





Avatar
Pierre CFI
oui, et moi j'avais mis un E , mais çà n'a pas passé inaperçu :o)

--
Pierre CFI
Microsoft MVP Access

Pour mieux utiliser microsoft.public.fr.access...
http://users.skynet.be/mpfa/charte.htm

"Elpaco" a écrit dans le message de news:
650501c377b2$a18492d0$
super merci
j'avais essayé mais j'avais une erreur de syntaxe qui m'a
fait penser que ça ne marcherait pas pour un classeur
variable.

merci encore
-----Message d'origine-----
bonjour
avec INDIRECTE("'[" & B1 & "]Feuil1'!A1")
dans b1 fichier.xls

--
Pierre CFI
Microsoft MVP Access

Pour mieux utiliser microsoft.public.fr.access...
http://users.skynet.be/mpfa/charte.htm

"Elpaco" a écrit dans le
message de news:

06d901c377ad$10fc3ec0$
Bonjour à tous,

Je vous serais reconnaissant si qqun peut m'aider à
résoudre le pb suivant en utilisant une formule (pas de
macro):

dans ma formule, je souhaite faire référence à une cellule
fixe (ex A1) appartenant à un classeur variable dont le
nom serait contenu dans une cellule de référence.

Par exemple : en B2 : ='[chose.xls]Feuil1'!A1
mon pb, c'est que une fois je veux aller chercher la
cellule A1 dans chose.xls, et une autre fois ce sera dans
truc.xls.
Au moment où je calculerais ma feuille, je saurais dans
quel classeur aller chercher cette donnée mais pas avant.

donc en B1, je me propose de saisir (ou de calculer) en
format texte [chose.xls] ou [truc.xls]

mon pb c'est que je ne sais pas quelle syntaxe utiliser
dans ma formule pour agglomérer cette reference au
classeur où je veux pointer et la cellule que je veux
pointer .
En effet si en B2, je mets = (B1)&Feuil1!A1, ça ne
fonctionne evidemment pas.

J'espere que c'était clair.
Merci pour votre aide par avance.

Mon sentiment est que ce n'est pas possible dans une
formule (alors que c'est tres facile à faire dans une
macro) mais je peux me tromper ...
Merci encore


.



Avatar
Guy
Bonjour a tous,

J'aurais une petite question à laquelle vous pourrez peut être me répondre :
Pourquoi avec cette formule le classeur externe ( fichier.xls ) doit il être
ouvert
alors qu'avec une référence externe normale la mise à jour se fait même
classeur fermé ??
( si au lieu de A1 on met A2 alors que le fichier source est fermé excel
renvoie une erreur )

Pour ma formation personnelle, Merci

Guy

"Pierre CFI" a écrit dans le message news:

oui, et moi j'avais mis un E , mais çà n'a pas passé inaperçu :o)

--
Pierre CFI
Microsoft MVP Access

Pour mieux utiliser microsoft.public.fr.access...
http://users.skynet.be/mpfa/charte.htm

"Elpaco" a écrit dans le message de news:
650501c377b2$a18492d0$
super merci
j'avais essayé mais j'avais une erreur de syntaxe qui m'a
fait penser que ça ne marcherait pas pour un classeur
variable.

merci encore
-----Message d'origine-----
bonjour
avec INDIRECTE("'[" & B1 & "]Feuil1'!A1")
dans b1 fichier.xls

--
Pierre CFI
Microsoft MVP Access

Pour mieux utiliser microsoft.public.fr.access...
http://users.skynet.be/mpfa/charte.htm

"Elpaco" a écrit dans le
message de news:

06d901c377ad$10fc3ec0$
Bonjour à tous,

Je vous serais reconnaissant si qqun peut m'aider à
résoudre le pb suivant en utilisant une formule (pas de
macro):

dans ma formule, je souhaite faire référence à une cellule
fixe (ex A1) appartenant à un classeur variable dont le
nom serait contenu dans une cellule de référence.

Par exemple : en B2 : ='[chose.xls]Feuil1'!A1
mon pb, c'est que une fois je veux aller chercher la
cellule A1 dans chose.xls, et une autre fois ce sera dans
truc.xls.
Au moment où je calculerais ma feuille, je saurais dans
quel classeur aller chercher cette donnée mais pas avant.

donc en B1, je me propose de saisir (ou de calculer) en
format texte [chose.xls] ou [truc.xls]

mon pb c'est que je ne sais pas quelle syntaxe utiliser
dans ma formule pour agglomérer cette reference au
classeur où je veux pointer et la cellule que je veux
pointer .
En effet si en B2, je mets = (B1)&Feuil1!A1, ça ne
fonctionne evidemment pas.

J'espere que c'était clair.
Merci pour votre aide par avance.

Mon sentiment est que ce n'est pas possible dans une
formule (alors que c'est tres facile à faire dans une
macro) mais je peux me tromper ...
Merci encore


.







Avatar
Frédéric Sigonneau
Bonsoir,

C'est une limitation de la fonction INDIRECT.
Si tu installes la macro complémentaire Morefun.xll de Laurent Longre (freeware,
téléchargeable sur son site : http://longre.free.fr), tu pourras utiliser sa
fonction INDIRECT.EXT, 'clone' d'INDIRECT qui permet de travailler avec des
fichiers fermés.

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour a tous,

J'aurais une petite question à laquelle vous pourrez peut être me répondre :
Pourquoi avec cette formule le classeur externe ( fichier.xls ) doit il être
ouvert
alors qu'avec une référence externe normale la mise à jour se fait même
classeur fermé ??
( si au lieu de A1 on met A2 alors que le fichier source est fermé excel
renvoie une erreur )

Pour ma formation personnelle, Merci

Guy

"Pierre CFI" a écrit dans le message news:

oui, et moi j'avais mis un E , mais çà n'a pas passé inaperçu :o)

--
Pierre CFI
Microsoft MVP Access

Pour mieux utiliser microsoft.public.fr.access...
http://users.skynet.be/mpfa/charte.htm

"Elpaco" a écrit dans le message de news:
650501c377b2$a18492d0$
super merci
j'avais essayé mais j'avais une erreur de syntaxe qui m'a
fait penser que ça ne marcherait pas pour un classeur
variable.

merci encore
-----Message d'origine-----
bonjour
avec INDIRECTE("'[" & B1 & "]Feuil1'!A1")
dans b1 fichier.xls

--
Pierre CFI
Microsoft MVP Access

Pour mieux utiliser microsoft.public.fr.access...
http://users.skynet.be/mpfa/charte.htm

"Elpaco" a écrit dans le
message de news:

06d901c377ad$10fc3ec0$
Bonjour à tous,

Je vous serais reconnaissant si qqun peut m'aider à
résoudre le pb suivant en utilisant une formule (pas de
macro):

dans ma formule, je souhaite faire référence à une cellule
fixe (ex A1) appartenant à un classeur variable dont le
nom serait contenu dans une cellule de référence.

Par exemple : en B2 : ='[chose.xls]Feuil1'!A1
mon pb, c'est que une fois je veux aller chercher la
cellule A1 dans chose.xls, et une autre fois ce sera dans
truc.xls.
Au moment où je calculerais ma feuille, je saurais dans
quel classeur aller chercher cette donnée mais pas avant.

donc en B1, je me propose de saisir (ou de calculer) en
format texte [chose.xls] ou [truc.xls]

mon pb c'est que je ne sais pas quelle syntaxe utiliser
dans ma formule pour agglomérer cette reference au
classeur où je veux pointer et la cellule que je veux
pointer .
En effet si en B2, je mets = (B1)&Feuil1!A1, ça ne
fonctionne evidemment pas.

J'espere que c'était clair.
Merci pour votre aide par avance.

Mon sentiment est que ce n'est pas possible dans une
formule (alors que c'est tres facile à faire dans une
macro) mais je peux me tromper ...
Merci encore


.