Re: Faire les mises à jour entre fichiers (Celeda Question Ancienne)
Coucou Celeda,
Bonjour Forum (si vous passez encore par là sur un si vieux post...)
Comme c'est amusant, aujourd'hui, j'avais un truc à faire un peu similaire... (En fait totalement l'inverse.... Je dois être sûr que le user réponde OUI à la question "Voulez-vous mettre à Jour les liens"...) Mais j'ai trouvé une solution.. qui peut être applicable pour toi... Je m'explique...
Donc, en fait, j'utilise un fichier "Bidon".Xls qui ne contient rien du tout à part une macro this WorkBook_Open comme cici :
Private Sub Workbook_Open()
Workbooks.Open "G:\Users\Bank\Share\Bank2003.xls", 3
End Sub
C'est ce fichier (Bidon.xls) qui va donc ouvrir le fichier cible (Bank 2003) ayant les formules le référant à des fichiers sources en liens.
Et donc je refile l'adresse à ouvrir (par Shortcut sur le DeskTop, ou barre Office) Sur "G:\Users\Bank\Share\Bidon.xls"
Donc le User ouvre ce fichier qui ouvre l'autre en mettant les liens à jour, sans que le User se rende compte de quoi que ce soit...
Bien sur dans le fichier "Bank2003".xls en macro WorkBook-BeforeClose
je met :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Workbooks("Bank.xls").Close 0
End Sub
(Je fais aussi une gestion d'erreur si on ouvre le fichier "Bank2003.xls" sans passer par le fichier Bidon.xls)
Pour en revenir à TON problème :
Toi tu NE VEUX PAS donc que les liens se fassent... Et sans message...
Donc strictement même principe mais à la place du 3 dans WorkBook.Open tu va mettre un 0... ce qui ne mettra PAS à jour les liens et qui ne posera aucune question au User...
Donc dans ce cas le code à mettre dans ce fichier "Bidon.xls" sera :
Private Sub Workbook_Open()
Workbooks.Open "G:\Users\Bank\Share\Bank2003.xls", 0
End Sub
Le reste devant être identique.
Voilà une solution... (j'ai pensé à toi quand on m'a demandé çà ce matin...)
Bon allez have a nice day
PS je ne sais pas si tu tomberas sur ce vieux fil, si oui dis le... Sinon je te ferai un msg en BAL...
@+Thierry