VBA : Eviter le message "Mettre à jour les liaisons"

Bonjour,

Les macros inscrites dans le fichier « Base » ci-joint permettent de visiter tous les fichiers placés dans le même dossier – ainsi que dans tous ses sous-dossiers et ses sous-sous-dossiers, etc. – et d’en lister sur la Feuil1, colonnes A et B, tous les fichiers qui contiennent le mot-clé indiqué lors de leur lancement à l’aide du bouton en place.

Un des problèmes est que si les fichiers « visités » comportent des liaisons, il faut à chaque fois indiquer « Mettre à jour » ou « Ne pas mettre à jour » les liaisons.

Afin de faire vous-même des tests, vous pouvez placer les deux fichiers ci-joint dans un même dossier vide, laisser le fichier «Essai3» fermé, lancer la macro du fichier « Base » et indiquer le mot-clé chapeau lorsqu’on vous le demande.

Ma question est donc : Savez-vous comment éviter d’avoir ce message au sujet des liaisons ? J’ai bien essayé de placer Application.DisplayAlerts = False dans mon code, mais ça ne sert à rien.

A vous relire.

393base.zip (19.31 Ko)
368essai3.xlsx (10.97 Ko)

Bonsoir

Dans ton fichier xlsx

Onglet données ---> Modifier les liens

Dans la fenêtre clic sur "invite de démarrage"

Cocher "Ne pas afficher l'alerte et ne pas mettre à jour les liens automatiques"

Voir aussi ce lien (pour 2003) mais fonctionne aussi pour 2010

http://support.microsoft.com/kb/826921/fr

La version macro (non testé)

 ActiveWorkbook.UpdateLinks = xlUpdateLinksNever 

Salut Banzai et merci pour ta réponse,

En fait mon fichier est prévu afin de trouver parmi des dizaines d’autres fichiers ceux qui ont des liaisons avec un fichier de base,

celui-ci étant précisé au départ de la macro, lorsqu’il faut indiquer le mot-clé (dans ma première explication = chapeau).

Il est donc impossible de modifier ces dizaines de fichiers qui contiennent des liaisons - le but étant justement de les décourir - mais il faudrait trouver comment modifier les codes de base, ceux qui sont inscrits dans le fichier «Base», afin de ne pas avoir 10, 20 ou 30 fois le message à propos de la liaison, à chaque fois qu’un nouveau fichier est ouvert par mes macros.

J’ai bien essayé à tout hasard ta proposition en plaçant ActiveWorkbook.UpdateLinks = xlUpdateLinksNever juste après Workbooks.Open Chemin & Fichier_traité mais ça n’apporte rien.

As-tu une autre idée ?

Salut Banzai,

Effectivement qu’avec Workbooks.Open monfichier, UpdateLinks:=0 ça fonctionne exactement comme je le voulais

Merci infiniment pour ton aide.

Bonjour,

Discussion intéressante, une petite précision.

La déclaration de la variable monfichier est de quel type et son initialisation de quelle forme ?

merci.

Bonjour

Le code pourrait se présenter comme cela

Dim MonFichier As String
Dim Chemin As String
Dim Fichier As String

  Chemin = ThisWorkbook.Path & "\"
  Fichier = "Toto.xlsx"
  MonFichier = Chemin & Fichier
Rechercher des sujets similaires à "vba eviter message mettre jour liaisons"