Macros automatiques

En donnant un nom spécial à une macro, vous pouvez l’exécuter automatiquement lorsque vous effectuez une opération telle que le démarrage de Word ou l’ouverture d’un document. Word reconnaît les noms suivants comme macros automatiques :

Nom de macro Exécution dans le cas suivant
Autoexec Lorsque vous démarrez Word ou chargez un modèle global.
AutoNew Chaque fois que vous créez un document.
Ouverture automatique Chaque fois que vous ouvrez un document existant.
Fermeture automatique Chaque fois que vous fermez un document.
AutoExit Lorsque vous quittez Word ou déchargez un modèle global.

Les macros automatiques figurant dans des modules de code sont reconnues si l'une des deux conditions suivantes est vraie :

  • Le module est nommé après la macro automatique (par exemple, « AutoExec ») et il contient une procédure nommée « Main ».

  • Une procédure contenue dans un module est nommée après la macro automatique.

Tout comme les autres macros, les macros automatiques peuvent être stockées dans le modèle Normal, un autre modèle ou un document. Pour qu’une macro automatique s’exécute, elle doit être dans le modèle Normal, dans le document actif ou dans le modèle sur lequel le document actif est basé. La seule exception est la macro AutoExec, qui ne s’exécute pas automatiquement, sauf si elle est stockée dans l’un des éléments suivants : le modèle Normal, un modèle qui est chargé globalement via la boîte de dialogue Modèles et compléments , ou un modèle global stocké dans le dossier spécifié comme dossier de démarrage. En cas de conflit de noms (plusieurs macros automatiques portant le même nom), Word exécute la macro automatique stockée dans le contexte le plus proche. Par exemple, si vous créez une macro AutoClose dans un document et dans le modèle qui lui est associé, seule la macro automatique stockée dans le document sera exécutée. Si vous créez une macro AutoNew dans le modèle Normal, elle est exécutée si le document ou le modèle qui lui est associé ne contient pas une macro du même nom.

Note Vous pouvez maintenir la touche MAJ enfoncée pour empêcher l’exécution des macros automatiques. Par exemple, si vous créez un document à partir d'un modèle qui contient une macro AutoNew, vous pouvez empêcher l'exécution de cette macro en maintenant la touche MAJ enfoncée au moment où vous cliquez sur OK dans la boîte de dialogue Nouveau (menu Fichier) et en continuant à maintenir cette touche enfoncée jusqu'à ce que le nouveau document soit affiché. Dans une macro qui peut déclencher une macro automatique, vous pouvez utiliser l'instruction suivante pour empêcher l'exécution des macros automatiques.

WordBasic.DisableAutoMacros

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.