Comment faire une variable vers un autre fichier ??
Bonjour,
Je cherche désespérement à faire un lien dans une formule vers un fichier qui serait une variable :
exemple : cellule A1 : contient le nom du fichier ("donc variable")
cellule A2 : contient la formule vers un autre fichier.
Dans la cellule A2 on a une formule qui vient du VBA (actuellement ma formule est fixe vers un fichier) je voudrai remplacer le nom du fichier par le contenu de la cellule A1.
EX : =function("C:/mesdocuments/fichier.xls/feuil1/celluleB12")
-> au lieu de "fichier" je voudrai la valeur de A1
merci d'avance
Bonjour petidani
Tout d'abord, la formule de liaison avec la cellule B12 de la Feuille s'appelant 2006 dans le fichier MONFICHIER qui se trouverait dans le tépertoire C et dans Mes documents pourraît s'écrire:
="="&"'C:\Mes documents\"&"["&$A$1&"]"&"2006'!$B$12"
si la cellule A1 contient MONFICHIER.XLS.
On se retrouve alors avec une formule texte qui affiche
='C:\Mes documents\[MONFICHIER.XLS]2006'!$B$12
Pour activer cette formule, il faut passer par un module VBA avec l'instruction:
ActiveCell.Value = ActiveCell.Value
Le problème est que cette application transforme la cellule contenant la formule texte en une liaison figée avec MONFICHIER et qu'en entrant un nouveau nom de fichier en A1, ça ne marche plus.
Pour contourner ce probléme:
en A1 le nom du fichier soit MONFICHIER.XLS
en A2 la formule texte
="="&"'C:\Mes documents\"&"["&$A$1&"]"&"2006'!$B$12"
et en A3 le résultat renvoyé par la macro.
Le code à copier-coller: Menu "Outils" "Macro" "Visual basic Editor" et "Insérer" "Module"
Sub Liaison_Variable()
'
' Liaison_Variable Macro
' Macro enregistrée le 14/09/2006 par Amadéus
'
'
Range("A2").Select
Selection.Copy
Range("A3").Select
ActiveSheet.Paste
Range("A3").Select
Application.CutCopyMode = False
ActiveCell.Value = ActiveCell.Value
End Sub
Il faut bien sur s'assurer que la cellule du fichier contient bien quelque chose.
Si probléme particulier, je t'enverrai le fichier exemple.
Cordialement
Amadéus
Merci pour l'idée mais pas imaginable dans mon cas.
Mon tableau s'étend de la colonne D à DF avec une formule différente dans chaque colonne (avec un seul point commun qui est MONFICHIER)
Et ce sur 193 lignes. (donc 193 fichiers)
le doublon de formule ne peut etre envisagé !!!
Exemple d'une des formules complète actuelle pour voir la complexité:
=chantiers($D$3;'Q:\Etat bil\année en cours\[SNSH00.xls]ENTETE'!$G$5;'Q:\Etat bil\année en cours\[SNSH00.xls]RECAPITULATIF'!$C$18;'Q:\Etat bil\année en cours\[SNSH00.xls]RECAPITULATIF'!$C$24;'Q:\Etat bil\année en cours\[SNSH00.xls]RECAPITULATIF'!$C$27)
merci
petidani
Bonjour petidani
Un fichier n'est pas 193 fichiers. Je suis d'accord.
Trop complexe pour pouvoir "essayer" sans avoir le fichier sous les yeux.
S'il n'est pas classé "secret défense" tu peux peut-être l'envoyer sur mon adresse email (en toute confidentialité), sinon, je ne voie pas comment t'aider.
Cordialement,
Amadéus
Merci de m'aider mais je ne peux pas envoyer le fichier pour deux raisons, d'une il fait 15 Méga et deux les données sont ultra confidentielles.
Cependant je vais essayer de le réduire en laissant les fonctions et pas les chiffres.
PS: ça fait 3 ans que j'essaie de trouver cette variable , j'ai même été en contact avec des personnes d'oxford et des consultant américains.
Jusqu'a maintenant personne n'a trouvé alors je test des forums.
Merci beaucoup
petidani