Lien entre 2 fichiers

  • Initiateur de la discussion Olivier
  • Date de début
O

Olivier

Guest
Bonjour à tous,

Après avoir fouiller sur votre excellent forum je n'ai pas trouvé de réponse à mon problème.

Peut-être que quelqu'un parmis vous pourra m'aider ?

Je souhaiterai tout simplement récupérer la valeur de la cellulle A1 d'un fichier (FORMATION2004.XLS) de l'onglet 'BASE' dans un autre fichier.

Très simple me dirais vous !
Il suffit de faire =[FORMATION2004.XLS]BASE'!$A$1

Mais voilà je voudrais récupérer le nom du fichier en fonction de l'année saisie par l'utilisateur.

L'utilisateur saisie 2004 en A1
En B1 j'insère la formule ='[FORMATION'&A1&'.XLS]

Comment récupérer ce nom de fichier dans mon lien ?
Est-ce possible ?
D'avance un immense merci !
@ bientôt
Olivier
 
T

tonio59

Guest
Bonjour olivier,

J'ai eu récemment le même problème que toi.
En fait, je l'ai résolu grâce à une macro qui vient réactualiser les liens suivant une date que va saisir l'utilisateur dans un inputbox. Cela permettait de faire plusieurs dossiers avec les mêmes fichiers, et d'interroger la base suivant des dates.

Le code peut paraitre obscure, mais en réalité il est très simple. En plus, pour améliorer la fonctionnalité, j'ai rajouté un menu dans le menu contextuel de la souris.

Sub MAJ_liaisons()
'

'
Dim i As String ‘nom dossier correspond à l’ancienne valeur
Dim y As String ‘nom dossier correspondant à la nouvelle valeur

Sheets('synthèse').Activate
i = Range('i3').Value
y = InputBox('Quel mois voulez-vous étudier? (Attention il faut que le mois est été créer dans le dossier sur le réseau !)')

Application.ScreenUpdating = False


Sheets('Synthèse').Unprotect
‘changemment du premier lien
ActiveWorkbook.ChangeLink Name:= _
'X:\\COMPTAJLF\\Anthony\\2005\\Frais déplacements\\Données NDF\\Analyses mensuelles\\' & i & '\\TABLEAU DE BORD 976.xls' _
, NewName:= _
'X:\\COMPTAJLF\\Anthony\\2005\\Frais déplacements\\Données NDF\\Analyses mensuelles\\' & y & '\\TABLEAU DE BORD 976.xls' _
, Type:=xlExcelLinks

‘changement du 2ème lien
ActiveWorkbook.ChangeLink Name:= _
'X:\\COMPTAJLF\\Anthony\\2005\\Frais déplacements\\Données NDF\\Analyses mensuelles\\' & i & '\\TABLEAU DE BORD 998-990.xls' _
, NewName:= _
'X:\\COMPTAJLF\\Anthony\\2005\\Frais déplacements\\Données NDF\\Analyses mensuelles\\' & y & '\\TABLEAU DE BORD 998-990.xls' _
, Type:=xlExcelLinks

‘changement du 3ème lien
ActiveWorkbook.ChangeLink Name:= _
'X:\\COMPTAJLF\\Anthony\\2005\\Frais déplacements\\Données NDF\\Analyses mensuelles\\' & i & '\\TABLEAU DE BORD 961.xls' _
, NewName:= _
'X:\\COMPTAJLF\\Anthony\\2005\\Frais déplacements\\Données NDF\\Analyses mensuelles\\' & y & '\\TABLEAU DE BORD 961.xls' _
, Type:=xlExcelLinks

Range('I3').Value = y

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

End sub


Si tu veux plus d'infos . . . n'hésite pas.

Je pense pas que ce soit la solution la plus simple, mais elle fonctionne parfaitement.
 

Discussions similaires

Réponses
19
Affichages
2 K

Statistiques des forums

Discussions
312 304
Messages
2 087 064
Membres
103 450
dernier inscrit
bernardmortensen