Graham a écrit sur un problème qu’il rencontrait avec ses efforts d’automatisation Excel. Il semble qu’une macro planifiée – qui s’exécuterait très bien – ouvrirait un autre classeur afin de le mettre à jour. Il n’a pas pu obtenir la macro pour ouvrir le classeur sans qu’il affiche un avis demandant si les liens automatiques dans le classeur doivent être ouverts. La question a interrompu la macro pendant qu’elle attendait la réponse de Graham, et il cherchait un moyen pour que les liens soient mis à jour automatiquement, sans préavis gênant.

Il existe plusieurs manières d’aborder ce problème. Tout d’abord, vous pouvez configurer Excel pour qu’il ne pose pas la question. Cette option affecte tous les classeurs ouverts sur le système:

  1. Affichez la boîte de dialogue Options Excel. (Dans Excel 2007, cliquez sur le bouton Office, puis sur Options Excel. Dans Excel 2010 et Excel 2013, affichez l’onglet Fichier du ruban, puis cliquez sur Options.)

  2. Cliquez sur Avancé à gauche de la boîte de dialogue et faites défiler jusqu’à la section Général. (Voir la figure 1.)

  3. Décochez la case Demander la mise à jour des liens automatiques.

  4. Cliquez sur OK.

Avec la case à cocher désactivée, Excel ne demande plus et tous les liens sont mis à jour automatiquement. Si vous souhaitez une approche qui n’affecte pas tous les classeurs, vous pouvez suivre ces étapes:

  1. Ouvrez le classeur qui contient les liens.

  2. Affichez l’onglet Données du ruban.

  3. Cliquez sur l’outil Modifier les liens dans le groupe Connexions. Excel affiche la boîte de dialogue Modifier les liens. (Voir la figure 2.)

  4. Cliquez sur le bouton Invite de démarrage. Excel affiche la boîte de dialogue Invite de démarrage. (Voir la figure 3.)

  5. Choisissez la troisième option, Ne pas afficher les liens d’alerte et de mise à jour.

  6. Cliquez sur OK pour fermer la boîte de dialogue Invite de démarrage.

  7. Cliquez sur Fermer pour fermer la boîte de dialogue Modifier les liens.

  8. Enregistrez votre classeur.

Maintenant, le classeur peut être ouvert sans qu’Excel ne demande des mises à jour. Ceci, bien sûr, affecte uniquement ce classeur et il l’affecte indépendamment de la façon dont il est ouvert. En d’autres termes, cela affectera la façon dont le classeur est ouvert par la macro ainsi que lorsqu’il est ouvert par un utilisateur.

La meilleure approche consiste peut-être à simplement apporter une petite modification à votre macro, celle qui ouvre le classeur contenant des liens. Il y a de fortes chances que le code pour ouvrir le classeur ressemble à ceci:

Workbooks.Open FileName:="MyWorkbook.xls"

Si tel est le cas, remplacez la ligne par:

Workbooks.Open FileName:="MyWorkbook.xls", UpdateLinks:=3

Cette propriété UpdateLinks est facultative, mais sans elle, la boîte de dialogue « Voulez-vous mettre à jour les liens » s’affiche. Si vous incluez la propriété avec le paramètre indiqué, Excel mettra à jour les références distantes et externes dans le classeur lors de son ouverture.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (8390) s’applique à Microsoft Excel 2007, 2010 et 2013. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:

link: / excel-Updating_Automatically_When_Opening_Under_Macro_Control [Mise à jour automatique lors de l’ouverture sous macro-contrôle].