Les macros personnelles et les automatismes avec Excel

Au-delà des fonctionnalités de tableur, Excel permet d’automatiser l’organisation de vos classeurs grâce à son environnement de programmation.

Le principe d’enregistrement des macros vous permet d’automatiser certaines tâches répétitives dans Excel. Vous pouvez créer une macro en effectuant simplement une série d’actions
sans aucune connaissance de la programmation.

Lorsque vous créez une macro pour la première fois dans un classeur, la macro ne fonctionne que pour le classeur en question (à moins d’être un professionnel de la programmation VBA, auquel cas cet article risque de vous ennuyer…).

illustration-spreadsheet

La plupart du temps, si l’on prend la peine d’enregistrer une macro c’est que l’on suppose par la suite que son exécution soit possible depuis différents classeurs ; qu’il s’agisse de classeurs existants ou de ceux que vous n’avez pas encore créés.

Excel permet ce genre de comportement en créant pour vous un classeur masqué appelé PERSONAL.XLSB et, en langage clair, c’est votre classeur de macros personnelles.

Toutes les macros enregistrées dans ce classeur masqué sont disponibles à chaque fois que vous ouvrez Excel.

Afficher/Masquer le classeur de macros personnelles

Le classeur de macros personnelles est masqué par défaut. Pour l’afficher, il faut aller dans le menu Affichage et, à partir de l’onglet Fenêtre, cliquer sur Afficher.

Dans la boîte de dialogue qui s’ouvre, sélectionnez PERSONAL.XLSB et cliquez sur ON. Pour le masquer à nouveau, il suffira de cliquer sur Masquer (dans le même onglet).

Afficher l’onglet Développeur sur le ruban Office

Lorsque vous interagissez avec des macros (même s’il s’agit de macros enregistrées par d’autres utilisateurs), il est bien pratique de disposer sous la main de l’onglet Développeur. Pour ce faire, cliquez sur Fichier/Options/ Personnaliser le ruban.

Sous la rubrique Personnaliser le ruban, dans la zone Onglets principaux, cochez la case en regard de l’intitulé Développeur. Validez par OK.

L’enregistrement de la macro

Pour illustrer notre propos, nous allons enregistrer une macro simple. Assurez-vous tout d’abord de disposer de l’onglet Développeur au niveau du ruban Office.

Il s’agit simplement de mettre en gras et en fond jaune la cellule sélectionnée.

Cliquez sur Développeur/Utiliser les références relatives de telle sorte que votre macro puisse fonctionner, quel que soit l’endroit où se trouve la cellule active. Autrement vous serez en référence absolue avec des instructions explicites contenant A1, B52, UB40 (les références de cellules).

Cliquez ensuite sur Enregistrer une macro. À partir de la boîte de dialogue Enregistrer une macro, saisissez le nom GrasFluo pour la macro (zone Nom de la macro).

Avant de valider en cliquant sur OK, vérifiez que dans la zone Enregistrer la macro dans, la valeur Classeur de macros personnelles est sélectionnée.

Si ce n’est pas le cas, faites-le en ouvrant la liste déroulante proposée pour sélectionner l’élément.

Effectuez la mise en gras et l’application du fond jaune fluo à partir des icônes proposées sur le ruban (section Police de l’onglet Accueil). Sans rien faire de plus (au risque de l’enregistrer dans la macro), cliquez sur Développeur/Arrêter l’enregistrement.

Exécuter automatiquement une macro à l’ouverture

En exploitant le principe de classeur de macros personnelles, il est facile de lancer automatiquement une macro à l’ouverture d’Excel.

Pour cela, il vous faut enregistrer dans votre classeur de macros personnelles une macro dont le nom est obligatoirement Auto_Open.

En revanche, s’il s’agit de lancer automatiquement une macro à l’ouverture du premier classeur par défaut proposé par Excel, il faut procéder autrement, car la macro Auto_Open s’exécute avant l’ouverture du classeur.

Notez néanmoins qu’une macro Auto_Open s’exécute avant l’ouverture du classeur par défaut Classeur1 proposé par Excel.

Si vous souhaitez démarrer Excel sans exécuter la macro Auto_Open , il suffit de maintenir enfoncée la touche MAJ lors de l’ouverture d’Excel.

Contrôlez les paramètres de sécurité

Par défaut, Excel n’active pas les macros d’un classeur. À partir de l’onglet Développeur, dans la section Code, cliquez sur Sécurité des macros.

La fenêtre de paramétrage des options d’Excel s’ouvre. Dans la section Paramètres des macros, sélectionnez l’option Activer toutes les macros (non recommandé ; risque d’exécution de code potentiellement dangereux).

Sachez néanmoins que lorsque cette option est activée, il faudra être particulièrement vigilant lors de l’ouverture de classeur Excel dont vous ne connaissez pas la provenance (et qui risque de déclencher des macros dangereuses pour votre système).

Si vous ne souhaitez pas modifier les conditions de sécurité pour l’exécution des macros, vous pouvez décider d’affecter le lancement de votre macro à une séquence de touches au clavier. Si la séquence de touche envisagée existe déjà sous Excel, c’est la macro qui sera prioritaire.

Une macro peut être bien évidemment être déclenchée par un clic sur le bouton de la barre d’outils Accès rapide.

Pour ce faire, accédez aux options Excel, cliquez sur Personnaliser puis, dans la liste, sélectionnez Macros.

Cliquez sur la macro que vous avez précédemment créée puis sur le bouton Ajouter. Vous pouvez alors modifier l’image du bouton de la macro en sélectionnant dans la zone Symbole l’image souhaitée.

Pour remplacer le nom de la macro par un libellé plus explicite, il suffit de saisir ce libellé dans la zone Nom complet avant de valider par OK pour ajouter le bouton dans la barre d’outils Accès rapide.

Allez plus loin avec la programmation

Le principe de la macro Auto_Open n’est pas spécifique au classeur PERSONAL.XLSB. Vous pouvez utiliser dans n’importe quel autre classeur.

Ceci étant, si le classeur dans lequel vous enregistrez une telle macro contient déjà un code VBA avec une procédure Open, toutes les actions de cette procédure remplaceront celles de la macro Auto_Open.

Si la création d’une macro Auto_Open reste à la portée d’un utilisateur Excel avancé, l’écriture de code VBA nécessite quelques connaissances en programmation.

Partagez vos macros Excel

Si vous utilisez plusieurs ordinateurs sur lesquels vous souhaitez disposer de toutes vos macros, il ne sera malheureusement pas possible de partager votre fichier PERSONAL.XLSB entre les ordinateurs. L’astuce consiste à récupérer ce fichier et le copier dans le dossier XLSTART de l’ordinateur cible.