Macros Excel - Configuration d'une macro

Vous pouvez enregistrer une macro et l'enregistrer sous le nom Auto_Open pour l'exécuter chaque fois que vous ouvrez le classeur qui contient cette macro.

Vous pouvez également écrire du code VBA dans le même but avec l'événement Open du classeur. L'événement Open exécute le code dans la sous-procédure Workbook_Open () chaque fois que vous ouvrez le classeur.

Enregistrement d'une macro Auto_Open

Vous pouvez enregistrer une macro Auto_Run comme suit -

  • Cliquez sur l'onglet VUE sur le ruban.
  • Cliquez sur Macros.
  • Cliquez sur Enregistrer une macro. La boîte de dialogue Enregistrer une macro apparaît.
  • Tapez Auto_Run pour le nom de la macro.
  • Saisissez une description et cliquez sur OK.
  • Commencez à enregistrer la macro.
  • Arrête d'enregistrer.
  • Enregistrez le classeur en tant que classeur activé pour les macros.
  • Fermez le classeur.
  • Ouvrez le classeur. La macro Auto_Run s'exécutera automatiquement.

Si vous souhaitez qu'Excel démarre sans exécuter une macro Auto_Open, maintenez la touche MAJ lorsque vous démarrez Excel.

Limitations de la macro Auto_Open

Voici les limitations de la macro Auto_Open -

  • Si le classeur dans lequel vous avez enregistré la macro Auto_Open contient du code pour l'événement Workbook Open, le code de l'événement Open remplacera les actions de la macro Auto_Open.

  • Une macro Auto_Open est ignorée lorsque le classeur est ouvert en exécutant du code qui utilise la méthode Open.

  • Une macro Auto_Open s'exécute avant l'ouverture des autres classeurs. Par conséquent, si vous enregistrez des actions que vous souhaitez qu'Excel exécute sur le classeur Book1 par défaut ou sur un classeur chargé à partir du dossier XLStart, la macro Auto_Open échouera lorsque vous redémarrez Excel, car la macro s'exécute avant l'ouverture des classeurs par défaut et de démarrage. .

Si vous rencontrez l'une de ces limitations, au lieu d'enregistrer une macro Auto_Open, vous devez écrire un code pour l'événement Open comme décrit dans la section suivante.

Code VBA pour l'événement ouvert d'un classeur

Vous pouvez écrire du code qui sera exécuté lorsque vous ouvrez un classeur. VBA vous fournit un événement appelé open qui incorpore une procédure VBA pour les actions à effectuer lors de l'ouverture d'un classeur.

Ouvrez le classeur dans lequel vous avez stocké la macro que vous avez écrite pour les références absolues - Report_ProjectXYZ. Lorsque cette macro est exécutée, une nouvelle feuille de calcul est ajoutée dans le classeur et la structure de rapport de projet apparaît dans la nouvelle feuille de calcul.

Vous pouvez écrire un code de macro qui effectuera ces actions lorsque vous ouvrez le classeur. Cela signifie que lorsque vous ouvrez le classeur de rapport de projet, une nouvelle feuille de calcul avec la structure du rapport sera prête pour que vous puissiez entrer les détails.

Suivez la procédure ci-dessous dans l'éditeur VBA -

  • Double-cliquez sur ThisWorkbook dans l'Explorateur de projets.

  • Dans la fenêtre de code, sélectionnez Workbook dans la liste déroulante de gauche et Ouvrir dans la liste déroulante de droite. Sub Workbook_Open () apparaît.

  • Cliquez sur Modules dans l'Explorateur de projets.

  • Double-cliquez sur le nom du module contenant le code de la macro.

  • Copiez le code de macro à partir du module et collez-le dans le Sub WorkBook_Open ().

Enregistrez le classeur prenant en charge les macros. Ouvrez-le à nouveau. La macro s'exécute et une nouvelle feuille de calcul avec la structure du rapport est insérée.