Re: Faire les mises à jour entre fichiers
Bonjour Celeda,
Ce que tu demandes est un truc qui revient souvent dans les forums, J'ai pas mal cherché... cependant il n'est pas très facile de répondre, car dans ton cas (si j'ai bien compris) tu veux qu' à l'ouverture du fichier :
1) Excel ne pose pas la question "Voulez mettre à jour les liens"
2) Excel ne mette pas à jour les liens.
1) Pour faire disparaitre le message d'avertissement pour les liens cette commande VBA le fait :
Application.AskToUpdateLinks = False
2) Pour ne pas mettre à jour les liens cette commande le fait aussi :
Workbooks.Open "C:\Temp\Test.xls", False
ATTENTION cependant pour "Application.AskToUpdateLinks = False"...
Cette instruction, doit avoir à sa sortie un code de rétablissement : "Application.AskToUpdateLinks = True" car sinon Excel ne demandera plus à faire une mise à jour des liens à l'ouverture de TOUS les classeurs. Il fera la mise à jour des liens SANS DEMANDER. (cette commande VBA équivaut en fait à aller par Excel => Menu / Outils / Options / Edition => Case à cocher "Ask to update automatic links" non cochée.)
La difficulté dans les deux cas, réside dans le fait que ces instructions doivent être lancées avant l'ouverture du fichier "Test.xls" (étant le fichier cible ayant les formules le référeant à un fichier source) Le fait de mettre les codes dans ThisWorkBook Private Sub Workbook_Open() ni fera rien.
Il y a la solution d'utiliser un "Perso.xls" (placé dans le répertoire xlstart) qui te servirait d'interface pour ouvrir les fichiers que tu ne veux pas mettre à jour les lien sans avoir de message... le code serait ceci :
Sub OpenSansMAJLien()
Application.AskToUpdateLinks = False
Workbooks.Open "C:\Temp\Test.xls", False
Application.AskToUpdateLinks = True
End Sub
Une autre soluce un peu tordue serait d'ouvrir ouvrir un fichier bidon, qui lui même lancerait le code ci-dessus par Workbook_Open et qui se refermerait aussi tôt une fois que test.xls serait ouvert...
Mais peut être est-il plus simple de répondre NON au gentil message qui te demande si tu veux une mise à jour...
Bon courage en tout cas...
@+Thierry
|