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.