Nom de fichier relatif

Le
Gilbert
Bonjour,

J'ai un fichier nommé CA2008 dans lequel je fait référence à un fichier
CA2007.
J'ai des formules du type ='D:Mes documents[C.A. 2007.xls]Janvier'!C$1
J'aimerais modifier cette formule pour ne pas écrire 2007 'en dur' mais que
cette valeur dépende du nom du fichier ouvert.
Ainsi j'aurai
='D:Mes documents[C.A. 2007.xls]Janvier'!C$1 dans le fichier CA2008
='D:Mes documents[C.A. 2008.xls]Janvier'!C$1 dans le fichier CA2009
etc

J'ai essayé aussi en mettant la valeur dans une cellule, mais je ne trouve
pas la bonne syntaxe :
='"D:Mes documentsGilbertGG[C.A. " & Cumul!E20 -1 & ".xls]Janvier"'!B$1
Si dans une cellule je mets seulement ="aa" & Cumul!E20 & "aa", je récupère
bien aa2008aa, mais ça ne fonctionne pas avec le nom de fichier.

Merci d'avance pour vos idées

--
Cordialement,

Gilbert
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
delphineR
Le #17389701
Bonjour,

Le plus simple selon moi est de modifier les liaisons :
versions 2007 : "Donnéesé - "Modifier les liens d'accès"
versions 97-2003 : "Edition" - "Liaisons"



"Gilbert" a écrit :

Bonjour,

J'ai un fichier nommé CA2008 dans lequel je fait référence à un fichier
CA2007.
J'ai des formules du type ='D:Mes documents[C.A. 2007.xls]Janvier'!C$1
J'aimerais modifier cette formule pour ne pas écrire 2007 'en dur' mais que
cette valeur dépende du nom du fichier ouvert.
Ainsi j'aurai
='D:Mes documents[C.A. 2007.xls]Janvier'!C$1 dans le fichier CA2008
='D:Mes documents[C.A. 2008.xls]Janvier'!C$1 dans le fichier CA2009
etc...

J'ai essayé aussi en mettant la valeur dans une cellule, mais je ne trouve
pas la bonne syntaxe :
='"D:Mes documentsGilbertGG[C.A. " & Cumul!E20 -1 & ".xls]Janvier"'!B$1
Si dans une cellule je mets seulement ="aa" & Cumul!E20 & "aa", je récupère
bien aa2008aa, mais ça ne fonctionne pas avec le nom de fichier.

Merci d'avance pour vos idées

--
Cordialement,

Gilbert






Gilbert
Le #17391591
Bonjour,

Merci pour ta réponse.
Effectivement c'est simple, mais j'aimerais quand même savoir si ce que j'ai
décrit est faisable ou pas avec une formule (en VBA je sais le faire).

--
Cordialement,

Gilbert


"delphineR" news:
Bonjour,

Le plus simple selon moi est de modifier les liaisons :
versions 2007 : "Donnéesé - "Modifier les liens d'accès"
versions 97-2003 : "Edition" - "Liaisons"



"Gilbert" a écrit :

> Bonjour,
>
> J'ai un fichier nommé CA2008 dans lequel je fait référence à un fichier
> CA2007.
> J'ai des formules du type ='D:Mes documents[C.A. 2007.xls]Janvier'!C$1
> J'aimerais modifier cette formule pour ne pas écrire 2007 'en dur' mais


que
> cette valeur dépende du nom du fichier ouvert.
> Ainsi j'aurai
> ='D:Mes documents[C.A. 2007.xls]Janvier'!C$1 dans le fichier


CA2008
> ='D:Mes documents[C.A. 2008.xls]Janvier'!C$1 dans le fichier


CA2009
> etc...
>
> J'ai essayé aussi en mettant la valeur dans une cellule, mais je ne


trouve
> pas la bonne syntaxe :
> ='"D:Mes documentsGilbertGG[C.A. " & Cumul!E20 -1 &


".xls]Janvier"'!B$1
> Si dans une cellule je mets seulement ="aa" & Cumul!E20 & "aa", je


récupère
> bien aa2008aa, mais ça ne fonctionne pas avec le nom de fichier.
>
> Merci d'avance pour vos idées
>
> --
> Cordialement,
>
> Gilbert
>
>
>
>


papou
Le #17392111
Bonjour Gilbert
Des éléments pour te permettre d'y parvenir :
Pour construire une référence à partir d'autres éléments situés dans une
cellule, tu peux utiliser la fonction INDIRECT.
Petit exemple vite fait,
avec en B1 le nom d'une feuille,
pour faire référence, à la valeur de la cellule A1 de la feuille identifiée
en B1 :
=INDIRECT(B1&"!"& "A1")
Après, il te suffit de bien veiller à intégrer tous les petits caractères
(de style ' ! [ et ]) pour que ta référence soit correcte.

Sinon, si c'est utile pour toi, tu peux également récupérer, par formule, le
nom complet du classeur :
=(CELLULE("nomfichier";A1))
NB :
La formule doit être inscrite dans le classeur dont tu veux récupérer le nom
Le classeur doit être enregistré
Tu adaptes si tu ne veux récupérer que le nom du classeur.

Cordialement
Pascal

"Gilbert"
Bonjour,

J'ai un fichier nommé CA2008 dans lequel je fait référence à un fichier
CA2007.
J'ai des formules du type ='D:Mes documents[C.A. 2007.xls]Janvier'!C$1
J'aimerais modifier cette formule pour ne pas écrire 2007 'en dur' mais
que
cette valeur dépende du nom du fichier ouvert.
Ainsi j'aurai
='D:Mes documents[C.A. 2007.xls]Janvier'!C$1 dans le fichier CA2008
='D:Mes documents[C.A. 2008.xls]Janvier'!C$1 dans le fichier CA2009
etc...

J'ai essayé aussi en mettant la valeur dans une cellule, mais je ne trouve
pas la bonne syntaxe :
='"D:Mes documentsGilbertGG[C.A. " & Cumul!E20 -1 &
".xls]Janvier"'!B$1
Si dans une cellule je mets seulement ="aa" & Cumul!E20 & "aa", je
récupère
bien aa2008aa, mais ça ne fonctionne pas avec le nom de fichier.

Merci d'avance pour vos idées

--
Cordialement,

Gilbert





Gilbert
Le #17399421
Bonjour

Merci de ta réponse
Avec INDIRECT j'obtiens bien ce que je veux mais à la condition que le
classeur auquel mes cellules font référence soit ouvert.
Ce qui n'est bien sûr pas le cas en général.
J'ai donc fait ça en VBA.

--
Cordialement,

Gilbert


"papou" de news:%
Bonjour Gilbert
Des éléments pour te permettre d'y parvenir :
Pour construire une référence à partir d'autres éléments situés dans une
cellule, tu peux utiliser la fonction INDIRECT.
Petit exemple vite fait,
avec en B1 le nom d'une feuille,
pour faire référence, à la valeur de la cellule A1 de la feuille


identifiée
en B1 :
=INDIRECT(B1&"!"& "A1")
Après, il te suffit de bien veiller à intégrer tous les petits caractères
(de style ' ! [ et ]) pour que ta référence soit correcte.

Sinon, si c'est utile pour toi, tu peux également récupérer, par formule,


le
nom complet du classeur :
=(CELLULE("nomfichier";A1))
NB :
La formule doit être inscrite dans le classeur dont tu veux récupérer le


nom
Le classeur doit être enregistré
Tu adaptes si tu ne veux récupérer que le nom du classeur.

Cordialement
Pascal

"Gilbert"
> Bonjour,
>
> J'ai un fichier nommé CA2008 dans lequel je fait référence à un fichier
> CA2007.
> J'ai des formules du type ='D:Mes documents[C.A. 2007.xls]Janvier'!C$1
> J'aimerais modifier cette formule pour ne pas écrire 2007 'en dur' mais
> que
> cette valeur dépende du nom du fichier ouvert.
> Ainsi j'aurai
> ='D:Mes documents[C.A. 2007.xls]Janvier'!C$1 dans le fichier CA2008
> ='D:Mes documents[C.A. 2008.xls]Janvier'!C$1 dans le fichier CA2009
> etc...
>
> J'ai essayé aussi en mettant la valeur dans une cellule, mais je ne


trouve
> pas la bonne syntaxe :
> ='"D:Mes documentsGilbertGG[C.A. " & Cumul!E20 -1 &
> ".xls]Janvier"'!B$1
> Si dans une cellule je mets seulement ="aa" & Cumul!E20 & "aa", je
> récupère
> bien aa2008aa, mais ça ne fonctionne pas avec le nom de fichier.
>
> Merci d'avance pour vos idées
>
> --
> Cordialement,
>
> Gilbert
>
>
>




Publicité
Poster une réponse
Anonyme