6 façons d’exécuter une macro dans Office

6 façons d’exécuter une macro dans Office

Il existe plusieurs façons de lancer une macro dans les logiciels de la suite Microsoft Office.

Je vais vous les présenter en prenant l’exemple d’Excel, qui est sans doute le logiciel dans lequel on utilise le plus souvent les macros. Mais ces méthodes restent valables dans les autres logiciels de la suite Office.

Depuis la fenêtre Macro

Excel - fenêtre macro

NB/ Cette fenêtre permet d’exécuter les macros, mais aussi de les créer, les modifier et les supprimer.

Pour afficher cette fenêtre, il y a 2 possibilités :

  • Appuyer sur ALT + F8
  • Cliquer sur le bouton « Macros » du ruban développeur (cf. plus bas pour savoir comment afficher ce ruban)

Pour exécuter une macro :

  • Dans la liste déroulante au bas de le fenêtre, sélectionner la source de la macro (généralement « Ce classeur ») pour afficher dans la partie haute la liste des macros disponibles.
  • Sélectionner une macro dans la liste (dans l’exemple, ci-dessus, on a sélectionné la macro « essai »)
  • Cliquer sur le bouton « Exécuter »

Ceci constitue la méthode de base pour lancer les macros.

Par un raccourci clavier

Dans la fenêtre Macro ci-dessus, vous avez peut-être remarqué le bouton « Options… ».

Un clic sur ce bouton ouvre la fenêtre « Options de macro » :

Excel - fenêtre options de macro

Cette fenêtre permet d’ajouter une description à la macro sélectionnée, mais aussi de lui affecter un raccourci clavier. Dans cet exemple, j’ai affecter le raccourci CTRL + W à la macro « Essai ».

Cette méthode est très pratique pour des macros lancées fréquemment et depuis n’importe quelle feuille.

Depuis l’éditeur Visual Basic

Excel - fenêtre Visual Basic

La partie gauche contient les objets Excel manipulables en VBA : Feuille (Feuil1), classeur (ThisWorkbook) et modules.

La partie droite affiche le code VBA contenu dans l’élément sélectionné à gauche (Module 1 dans cet exemple)

Dans la barre d’outils située au-dessus, on trouve notamment le bouton Exécuter (petit triangle vert que j’ai entouré en rouge) qui permet d’exécuter le code affiché en-dessous.

On voit dans cette exemple le code de la macro Essai. Pour l’exécuter il faut :

  • placer le curseur à l’intérieur de la procédure essai
  • cliquer sur le bouton Exécuter (triangle vert)

NB/ La partie droite peut contenir plusieurs procédures correspondant à différentes macros. Pour exécuter celle qu’on veut, il suffit de placer le curseur à l’intérieur de son code avant de cliquer sur le bouton d’exécution.

Cette méthode est surtout utile lors de la mise au point des macros. Elle permet de les tester sans avoir à quitter la fenêtre de l’éditeur VBA. De plus, il est possible d’exécuter le code en mode pas à pas pour analyser finement son exécution.

En cliquant sur un bouton placé dans une feuille

Excel - insérer bouton

Le ruban développeur contient une liste « Insérer » contenant différents contrôles de formulaires. Pour insérer un bouton dans la feuille :

  • cliquer sur le premier contrôle de la liste « Insérer » pour sélectionner le bouton
  • cliquer dans la feuille, maintenir le bouton de la souris enfoncé et faire glisser le curseur de façon à dessiner un bouton de la taille souhaitée
  • Lorsqu’on relâche le bouton de la souris, la fenêtre « Affecter une macro » s’ouvre. Elle ressemble fortement à la fenêtre « Macro » décrite au début de cet article. Il suffit de sélectionner la macro à affecter au bouton et de cliquer sur OK.

Si on crée le bouton avant de créer la macro, la fenêtre « Affecter une macro » permet de créer la macro dans la foulée :

Excel - fenêtre affeccter une macro

La zone « Nom de la macro » contient un nom par défaut généré automatiquement (« Bouton1_Cliquer »). On peut le modifier comme on veut.

Pour créer la macro, on a 2 possibilités :

  • Cliquer sur « Nouvelle » pour ouvrir l’éditeur de code Visual Basic et saisir soi-même le code
  • Cliquer sur Enregistrer… » pour générer le code de la macro à partir des actions réalisées dans le classeur.

Une fois la macro affectée au bouton, il suffit de cliquer sur le bouton pour exécuter la macro (;-))

Remarques :

  • Il existes d’autres contrôles que les boutons pour lancer des macros. Par exemple les cases à cocher, boutons radio…etc.
  • Dans Word, l’affectation de macros à ces contrôles n’est pas si simple que dans Excel.

Cette méthode permet donc d’exécuter une macro depuis un élément visuel placé directement dans la feuille. C’est la façon la plus intuitive et la plus rapide de lancer une macro. Elle est à privilégier lorsque le classeur Excel est amené à être utilisé par d’autres personnes.

Par un bouton personnalisé dans la barre d’outils ou le ruban

Cette possibilité existe depuis la version 2010 d’Office. Voici comment la mettre en œuvre :

Supposons que nous ayons créé une macro nommée « Essai » et que nous souhaitions l’affecter à un bouton de la barre de lancement rapide (barre située au-dessus du ruban et contenant entre autres le bouton enregistrer). Pour cela :

  • Faire un clic droit dans la barre d’outils, et sélectionner « Personnaliser la barre d’outils accès rapide… » Ceci ouvre la fenêtre ci-dessous :
Excel - parsonnaliser accès rapide 1
  • Dans la liste déroulante en haut à gauche, sélectionner « Macros » de façon à afficher la liste des macros en-dessous
  • Dans la liste, sélectionner la macro (« Essai » dans notre exemple)
  • Puis cliquer sur le bouton « Ajouter >> » pour transférer cet élément dans la liste de droite (il se place par défaut à la fin de la liste)
  • Cliquer sur les petits boutons flèches à droite de la liste pour déplacer le bouton « Essai’ à la position souhaitée dans la barre d’outils :
Excel - parsonnaliser accès rapide 2
  • Cliquer sur OK pour terminer. Le bouton apparaît alors dans la barre d’outils

Remarques :

  • Dans la liste déroulante en haut à droite, on peut spécifier si le bouton qu’on ajoute sera visible pour tous les documents (par défaut) ou uniquement pour le classeur courant.
  • Il est également possible de choisir l’image de notre bouton en cliquant sur le bouton « Modifier » qui se situe au-dessous de la liste de droite.

On vient de voir comment ajouter un bouton dans la barre d’outils Accès rapide. L’ajout d’un bouton dans un nouvel onglet du ruban est très similaire. Il suffit pour cela, de :

  • Faire un clic droit dans n’importe quel ruban, et sélectionner « Personnaliser le ruban… »
  • Dans la fenêtre qui s’ouvre (semblable à la précédente), commencer par créer un nouveau ruban ou un nouveau groupe dans un ruban existant au moyen des boutons « Nouvel onglet » et « Nouveau groupe » situés dans la partie inférieure droite de la fenêtre
  • Puis suivre les mêmes étapes que précédemment

Cette méthode est très utile pour lancer rapidement des macros valables pour tous les documents.
Par exemple, j’ai créé à titre personnel 4 macros dans Excel pour déplacer facilement le contenu d’une ou plusieurs cellules vers la gauche, vers la droite, vers le haut ou vers le bas. Je les ai ensuite affectées à 4 boutons flèches placés dans la barre d’outils Accès rapide :

Excel - boutons macros dans accès rapide

Avec ces 4 petits boutons, finis les couper, insérer en décalant les cellules vers le bas…etc. Je déplace mes cellules en un clic et j’économise un temps fou ! 🙂

De façon automatique en réponse à des évènements

Une macro peut s’exécuter automatiquement en réponse à des évènements, tels que :

  • l’ouverture du classeur
  • l’enregistrement du classeur
  • la création d’une nouvelle feuille
  • le double-clic sur certaines cellules
  • …etc

Les possibilités sont très nombreuses.

Pour créer ce genre de macros, il faut passer par l’éditeur Visual Basic :

Excel - évènement VBA

Dans cette fenêtre :

  • double-cliquer sur l’élément concerné (feuille ou classeur) dans la partie gauche.
  • dans les 2 listes déroulantes situées au-dessus de la zone d’édition, sélectionner l’élément qui porte l’évènement, puis l’évènement lui-même
  • compléter le code dans la zone d’édition

Dans l’exemple ci-dessus, j’ai double-cliqué sur ThisWorkbook pour sélectionner le classeur, puis j’ai sélectionné « Workbook » dans la première liste déroulante et « Open » dans la seconde. Ceci a généré  le code qu’on voit dans la zone d’édition. Il reste à le compléter soi-même.
Ce code sera lancé automatiquement à l’ouverture du classeur.

Cette méthode d’exécution de code en réaction a des évènements est très puissante, car elle permet d’automatiser des traitements et de rendre un classeur dynamique. Voici quelques exemples d’utilisations parmi tant d’autres :

  • récupérer ou mettre à jour des données
  • faire des contrôles complexes sur des saisies utilisateur et afficher des messages
  • afficher / sélectionner certains éléments en fonction des actions de l’utilisateur
  • …etc

Comment afficher le ruban Développeur ?

Excel - ruban développeur

Le ruban Développeur n’est pas affiché par défaut. Pour l’afficher, il faut l’activer dans les options. Pour cela :

  • Faire un clic droit dans n’importe quel ruban et cliquer sur « Personnaliser le ruban ». Ceci ouvre la fenêtre d’options du ruban.
  • Dans la partie droite de cette fenêtre (liste nommée « onglets principaux »), cocher la case « Développeur »
  • Cliquer sur OK -> le ruban Développeur apparaît à droite du ruban Affichage.

Dans le ruban développeur, le premier groupe de commandes, intitulé « Code », contient les commandes relatives aux macros, notamment :

  • Le bouton Visual Basic qui permet d’ouvrir l’éditeur de code VBA
  • Le bouton Macros qui ouvre la fenêtre Macro décrite au début de cet article
  • Le bouton Enregistrer une macro qui permet de créer une macro en enregistrant les actions réalisées sur le classeur

Conclusion

Il y a donc de multiples façons de lancer des macros dans Office Je vous ai montré dans cet article les spécificités de chacune d’elles et quelques exemples d’utilisations concrètes. Vous avez désormais tout ce qu’il faut pour vous lancer à votre tour 🙂

Cyril

Administrateur du site office-in

Laisser un commentaire

Fermer le menu