OVH Cloud OVH Cloud

Transformer texte en référence

8 réponses
Avatar
Lerritier
Bonjour,

Voilà mon soucis.

Imaginons un fichier Excel très simple (1 ligne, 2 colonne) dans lequel je
dois afficher les informations venant d'un autre fichiers Excel.

Dans la case A1, il y a le nom de l'autre fichiers (format texte). Comment
faire pour utiliser ce nom de fichier dans la case A2 ?

J'ai essayé avec les syntaxe suivante et rien à faire:
1ère syntaxe: ='[&T(A1)&.xls]Data'!Info
2ème syntaxe: ="'["&T(A1)&".xls]Data'!Info"

Dans le 1er cas, j'obtiens une erreur car Excel cherche un fichier qui
s'appelle "T(A1).xls" et dans le second cas, pas d'erreur, mais Excel
considère le lien comme du texte et affiche le chemin de la cellule et pas
l'info contenu dans la cellule.

Si quelqu'un a une solution à ce problème ou une manière quelquonques de le
contourner, je suis preneur.

Merci d'avance à tous.


Lerritier

8 réponses

Avatar
papou
Bonjour
Regarde du côté de la fonction INDIRECT et utilise le symbole de
concaténation pour construire la formule.
Cordialement
Pascal

"Lerritier" a écrit dans le message de
news:u6$
Bonjour,

Voilà mon soucis.

Imaginons un fichier Excel très simple (1 ligne, 2 colonne) dans lequel je
dois afficher les informations venant d'un autre fichiers Excel.

Dans la case A1, il y a le nom de l'autre fichiers (format texte). Comment
faire pour utiliser ce nom de fichier dans la case A2 ?

J'ai essayé avec les syntaxe suivante et rien à faire:
1ère syntaxe: ='[&T(A1)&.xls]Data'!Info
2ème syntaxe: ="'["&T(A1)&".xls]Data'!Info"

Dans le 1er cas, j'obtiens une erreur car Excel cherche un fichier qui
s'appelle "T(A1).xls" et dans le second cas, pas d'erreur, mais Excel
considère le lien comme du texte et affiche le chemin de la cellule et pas
l'info contenu dans la cellule.

Si quelqu'un a une solution à ce problème ou une manière quelquonques de
le

contourner, je suis preneur.

Merci d'avance à tous.


Lerritier




Avatar
JpPradier
Bonjour Lerritier

=indirect("["&A1&".xls]Data!Info")

j-p
Avatar
JpPradier
Ou plutot avec les cotes :

=indirect("'["&A1&".xls]Data'!Info")

j-p
Avatar
Lerritier
Merci bien.

C'est tout ce qu'il me fallait.

"papou" <cestpasbonprobin@çanonpluscg44.fr> a écrit dans le message de news:

Bonjour
Regarde du côté de la fonction INDIRECT et utilise le symbole de
concaténation pour construire la formule.
Cordialement
Pascal

"Lerritier" a écrit dans le message de
news:u6$
Bonjour,

Voilà mon soucis.

Imaginons un fichier Excel très simple (1 ligne, 2 colonne) dans lequel
je


dois afficher les informations venant d'un autre fichiers Excel.

Dans la case A1, il y a le nom de l'autre fichiers (format texte).
Comment


faire pour utiliser ce nom de fichier dans la case A2 ?

J'ai essayé avec les syntaxe suivante et rien à faire:
1ère syntaxe: ='[&T(A1)&.xls]Data'!Info
2ème syntaxe: ="'["&T(A1)&".xls]Data'!Info"

Dans le 1er cas, j'obtiens une erreur car Excel cherche un fichier qui
s'appelle "T(A1).xls" et dans le second cas, pas d'erreur, mais Excel
considère le lien comme du texte et affiche le chemin de la cellule et
pas


l'info contenu dans la cellule.

Si quelqu'un a une solution à ce problème ou une manière quelquonques de
le

contourner, je suis preneur.

Merci d'avance à tous.


Lerritier








Avatar
Lerritier
Merci beaucoup, c'est tout à fait ce que je cherchais.

Réponse en deux temps, mais j'avais compris la 1ère fois.

"JpPradier" a écrit dans le message
de news: #
Ou plutot avec les cotes :

=indirect("'["&A1&".xls]Data'!Info")

j-p


Avatar
Lerritier
Merci pour les réponses déjà données, mais...

Y'a-t-il une solution pour que celà fonctionne aussi lorsque les fichiers
externes sont fermés. En effet, je ne me sens pas de lancer l'ouverture de
100 fichiers avant de pouvoir utiliser ma feuille Excel, car oui je dois
aller chercher des données dans une centaine de fichiers.

Merci d'avance


"Lerritier" a écrit dans le message de news:
u6$
Bonjour,

Voilà mon soucis.

Imaginons un fichier Excel très simple (1 ligne, 2 colonne) dans lequel je
dois afficher les informations venant d'un autre fichiers Excel.

Dans la case A1, il y a le nom de l'autre fichiers (format texte). Comment
faire pour utiliser ce nom de fichier dans la case A2 ?

J'ai essayé avec les syntaxe suivante et rien à faire:
1ère syntaxe: ='[&T(A1)&.xls]Data'!Info
2ème syntaxe: ="'["&T(A1)&".xls]Data'!Info"

Dans le 1er cas, j'obtiens une erreur car Excel cherche un fichier qui
s'appelle "T(A1).xls" et dans le second cas, pas d'erreur, mais Excel
considère le lien comme du texte et affiche le chemin de la cellule et pas
l'info contenu dans la cellule.

Si quelqu'un a une solution à ce problème ou une manière quelquonques de
le

contourner, je suis preneur.

Merci d'avance à tous.


Lerritier




Avatar
isabelle
bonjour Lerritier,

voici un exemple à adapter,

Sub valeurExterne()
Ligne = ActiveCell.Row
colonne = ActiveCell.Column
fichier = "zaza.xls"
rep = "c:zaza"
ActiveCell = ExecuteExcel4Macro _
("'" & rep & "[" & fichier & "]Feuil1'!R" & Ligne & "C" & colonne & "")
End Sub

isabelle


Merci pour les réponses déjà données, mais...

Y'a-t-il une solution pour que celà fonctionne aussi lorsque les fichiers
externes sont fermés. En effet, je ne me sens pas de lancer l'ouverture de
100 fichiers avant de pouvoir utiliser ma feuille Excel, car oui je dois
aller chercher des données dans une centaine de fichiers.

Merci d'avance

"Lerritier" a écrit dans le message de news:
u6$
Bonjour,

Voilà mon soucis.

Imaginons un fichier Excel très simple (1 ligne, 2 colonne) dans lequel je
dois afficher les informations venant d'un autre fichiers Excel.

Dans la case A1, il y a le nom de l'autre fichiers (format texte). Comment
faire pour utiliser ce nom de fichier dans la case A2 ?

J'ai essayé avec les syntaxe suivante et rien à faire:
1ère syntaxe: ='[&T(A1)&.xls]Data'!Info
2ème syntaxe: ="'["&T(A1)&".xls]Data'!Info"

Dans le 1er cas, j'obtiens une erreur car Excel cherche un fichier qui
s'appelle "T(A1).xls" et dans le second cas, pas d'erreur, mais Excel
considère le lien comme du texte et affiche le chemin de la cellule et pas
l'info contenu dans la cellule.

Si quelqu'un a une solution à ce problème ou une manière quelquonques de
le

contourner, je suis preneur.

Merci d'avance à tous.


Lerritier






Avatar
Lerritier
Quel bonheur! C'est ce que je cherchais (moins les modifs pour mes variables
bien sûr).
Merci beaucoup pour ce petit bout de code.

Et désolé de répondre si tard, j'ai eu un problème avec ma connexion.


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

bonjour Lerritier,

voici un exemple à adapter,

Sub valeurExterne()
Ligne = ActiveCell.Row
colonne = ActiveCell.Column
fichier = "zaza.xls"
rep = "c:zaza"
ActiveCell = ExecuteExcel4Macro _
("'" & rep & "[" & fichier & "]Feuil1'!R" & Ligne & "C" & colonne & "")
End Sub

isabelle


Merci pour les réponses déjà données, mais...

Y'a-t-il une solution pour que celà fonctionne aussi lorsque les
fichiers


externes sont fermés. En effet, je ne me sens pas de lancer l'ouverture
de


100 fichiers avant de pouvoir utiliser ma feuille Excel, car oui je dois
aller chercher des données dans une centaine de fichiers.

Merci d'avance

"Lerritier" a écrit dans le message de news:
u6$
Bonjour,

Voilà mon soucis.

Imaginons un fichier Excel très simple (1 ligne, 2 colonne) dans
lequel je



dois afficher les informations venant d'un autre fichiers Excel.

Dans la case A1, il y a le nom de l'autre fichiers (format texte).
Comment



faire pour utiliser ce nom de fichier dans la case A2 ?

J'ai essayé avec les syntaxe suivante et rien à faire:
1ère syntaxe: ='[&T(A1)&.xls]Data'!Info
2ème syntaxe: ="'["&T(A1)&".xls]Data'!Info"

Dans le 1er cas, j'obtiens une erreur car Excel cherche un fichier qui
s'appelle "T(A1).xls" et dans le second cas, pas d'erreur, mais Excel
considère le lien comme du texte et affiche le chemin de la cellule et
pas



l'info contenu dans la cellule.

Si quelqu'un a une solution à ce problème ou une manière quelquonques
de



le
contourner, je suis preneur.

Merci d'avance à tous.


Lerritier