OVH Cloud OVH Cloud

Fonction et Chemin

3 réponses
Avatar
Sardaukar
Bonjour à Tous,

J'aimerais créer une fonction me permettant d'avoir une valeur d'un autre
fichier Excel (Daily) a partir du chemin de ce dernier, du jour et de la
cellule recherchée

Seulement je n'arrive pas à convertir le résultat en formule

Merci de m'indiquer le moyen d'y parvenir

Function LinkTo(Chemin, Day, Cellule)

LinkTo = "='" & Chemin & "[" & Day & ".xls]" & Cellule

End Function

Merci d'avance

3 réponses

Avatar
LSteph
Bonjour,
Si c'est pour l'intérêt pédagogique:
Tu as une solution par fonction utilisant macro xl4 sur excelabo:
http://www.excelabo.net/xl/fichiers.php#liresansouvrir

Sinon c'est se compliquer et ceci ne va pas:
En supposant que tu donnes ainsi des noms de jour à tes classeurs
et en admettant même que tu rectifies , day est déjà réservé en vba et il
faut un nom de feuille supposons toujours Feuil1 pour simplifier
la cellule contiendra la formule et non ce à quoi elle fait référence donc
même en essayanr ceci:

Function LinkTo(Chemin, jour, Cellule)
LinkTo = "='" & Chemin & "[" & jour & ".xls]Feuil1'!" & Cellule
End Function

Si tu saisis =linkto("c:";"lundi";"a1")
tu obtiendras ='c:[lundi.xls]Feuil1'!a1
et non le résultat que cela donnerait, car pour cela il faudra encore à
chaque fois faire un copier coller spécial valeur et revalider
C'est pas tellement plus court et si ici j'emploie "c:" il est probable
qu'un nom de répertoire soit plus long

aussi tu pourrais bien plus simplement saisir directement
='c:[lundi.xls]Feuil1'!a1

Cordialement

'lSteph

"Sardaukar" a écrit dans le message de
news:
Bonjour à Tous,

J'aimerais créer une fonction me permettant d'avoir une valeur d'un autre
fichier Excel (Daily) a partir du chemin de ce dernier, du jour et de la
cellule recherchée

Seulement je n'arrive pas à convertir le résultat en formule

Merci de m'indiquer le moyen d'y parvenir

Function LinkTo(Chemin, Day, Cellule)

LinkTo = "='" & Chemin & "[" & Day & ".xls]" & Cellule

End Function

Merci d'avance


Avatar
Sardaukar
Bonjour

Effectivement c'est beaucoup plus compliqué que ça en a l'air, les chemins
changent chaque mois, les dossiers aussi et de plus dans un serveur

Merci


Bonjour,
Si c'est pour l'intérêt pédagogique:
Tu as une solution par fonction utilisant macro xl4 sur excelabo:
http://www.excelabo.net/xl/fichiers.php#liresansouvrir

Sinon c'est se compliquer et ceci ne va pas:
En supposant que tu donnes ainsi des noms de jour à tes classeurs
et en admettant même que tu rectifies , day est déjà réservé en vba et il
faut un nom de feuille supposons toujours Feuil1 pour simplifier
la cellule contiendra la formule et non ce à quoi elle fait référence donc
même en essayanr ceci:

Function LinkTo(Chemin, jour, Cellule)
LinkTo = "='" & Chemin & "[" & jour & ".xls]Feuil1'!" & Cellule
End Function

Si tu saisis =linkto("c:";"lundi";"a1")
tu obtiendras ='c:[lundi.xls]Feuil1'!a1
et non le résultat que cela donnerait, car pour cela il faudra encore à
chaque fois faire un copier coller spécial valeur et revalider
C'est pas tellement plus court et si ici j'emploie "c:" il est probable
qu'un nom de répertoire soit plus long

aussi tu pourrais bien plus simplement saisir directement
='c:[lundi.xls]Feuil1'!a1

Cordialement

'lSteph

"Sardaukar" a écrit dans le message de
news:
Bonjour à Tous,

J'aimerais créer une fonction me permettant d'avoir une valeur d'un autre
fichier Excel (Daily) a partir du chemin de ce dernier, du jour et de la
cellule recherchée

Seulement je n'arrive pas à convertir le résultat en formule

Merci de m'indiquer le moyen d'y parvenir

Function LinkTo(Chemin, Day, Cellule)

LinkTo = "='" & Chemin & "[" & Day & ".xls]" & Cellule

End Function

Merci d'avance







Avatar
LSteph
Re,
(outre que possible désigner sur un poste de travail un chemin réseau par
une lettre g: h: )

Pour éviter de saisir tous les noms de chemins en entier si tu ouvre un
fichier de ton serveur que tu dois lier
tu mets une cellule de ce fichier en liaison dans ton classeur qui reçoit la
valeur.
exemple =[Lundi.xls]feuil1!a1
Puis tu referme le classeur Lundi , dans la cellule il est alors écrit le
chemin complet
(par exemple
H:monunitéreseaumonrepertoiremonsourep..[Lundi.xls]feuil1!a1
tu peux copier cette cellule , remplacer lundi par mardi, etc...

lSteph

"Sardaukar" a écrit dans le message de
news:
Bonjour

Effectivement c'est beaucoup plus compliqué que ça en a l'air, les chemins
changent chaque mois, les dossiers aussi et de plus dans un serveur

Merci


Bonjour,
Si c'est pour l'intérêt pédagogique:
Tu as une solution par fonction utilisant macro xl4 sur excelabo:
http://www.excelabo.net/xl/fichiers.php#liresansouvrir

Sinon c'est se compliquer et ceci ne va pas:
En supposant que tu donnes ainsi des noms de jour à tes classeurs
et en admettant même que tu rectifies , day est déjà réservé en vba et il
faut un nom de feuille supposons toujours Feuil1 pour simplifier
la cellule contiendra la formule et non ce à quoi elle fait référence
donc
même en essayanr ceci:

Function LinkTo(Chemin, jour, Cellule)
LinkTo = "='" & Chemin & "[" & jour & ".xls]Feuil1'!" & Cellule
End Function

Si tu saisis =linkto("c:";"lundi";"a1")
tu obtiendras ='c:[lundi.xls]Feuil1'!a1
et non le résultat que cela donnerait, car pour cela il faudra encore à
chaque fois faire un copier coller spécial valeur et revalider
C'est pas tellement plus court et si ici j'emploie "c:" il est probable
qu'un nom de répertoire soit plus long

aussi tu pourrais bien plus simplement saisir directement
='c:[lundi.xls]Feuil1'!a1

Cordialement

'lSteph

"Sardaukar" a écrit dans le message
de
news:
Bonjour à Tous,

J'aimerais créer une fonction me permettant d'avoir une valeur d'un
autre
fichier Excel (Daily) a partir du chemin de ce dernier, du jour et de
la
cellule recherchée

Seulement je n'arrive pas à convertir le résultat en formule

Merci de m'indiquer le moyen d'y parvenir

Function LinkTo(Chemin, Day, Cellule)

LinkTo = "='" & Chemin & "[" & Day & ".xls]" & Cellule

End Function

Merci d'avance