Pour commencer en douceur, nous allons élaborer une macro très simple qui met en gras et en italique, puis centre le contenu des cellules sélectionnées dans une feuille Excel. Vous pourriez le faire sans macro, en trois
clics de souris. Mais il s’agit de comprendre le fonctionnement d’une macro élémentaire, afin de bien fixer les idées.
1. Avec l’Enregistreur de macros
Faites une répétition.
Comme vous allez le voir, l’Enregistreur mémorise toutes les actions que vous effectuez, sans la moindre intelligence. Il notera donc aussi fidèlement les ‘ bonnes ‘
manipulations… que vos erreurs. Vous devez donc, avant de démarrer, connaître parfaitement la suite des commandes que vous allez mémoriser. Nous vous conseillons même de la ‘ répéter ‘ plusieurs
fois sur un modèle pour en être sûr. Dans notre exemple, il faudra cliquer sur le bouton G de la barre d’outils Mise en forme pour mettre les cellules sélectionnées en gras, puis cliquer sur le bouton I de la
même barre pour activer l’attribut Italiques et enfin cliquer sur le bouton Centrer de la barre d’outils Mise en forme.
Préparez le terrain.
La macro fait exactement ce que vous lui demandez, rien de plus, rien de moins. Ainsi, si elle doit traiter une zone sélectionnée, il faut, avant de démarrer l’enregistrement, ouvrir une feuille et sélectionner un champ de
cellules. De façon générale, vous devrez faire ‘ à la main ‘ tout ce que la macro ne fera pas. Dans notre exemple, lancez Excel, ouvrez un classeur quelconque, activez une feuille et sélectionnez un
groupe de cellules non vides.
Lancez l’enregistrement.
Déroulez le menu Outils, Macros, Nouvelle macro. Dans le champ Nom de la macro, écrivez un libellé court, par exemple Formater. Dans le champ Touche de
raccourci, tapez éventuellement un caractère, par exemple b (attention : les majuscules et les minuscules ne sont pas identiques). Cela vous permettra de lancer plus facilement la macro par la suite.
Dans la liste Enregistrer la macro dans…, laissez la valeur Ce classeur, puis cliquez sur OK (voir écran). La barre d’outils Arrêter l’enregistrement apparaît : elle restera à l’écran tant que
durera l’enregistrement de la macro. Attention : tout ce que vous faites maintenant dans Excel est enregistré dans la macro.
Faites une par une les actions à enregistrer.
Dans la barre d’outils Mise en forme, cliquez successivement sur les boutons G (gras) et I (italique). Puis cliquez sur le bouton Centrer de la barre d’outils Mise en
forme. Votre macro est terminée.
Arrêtez l’enregistrement.
Cliquez sur bouton Arrêter l’enregistrement dans la petite barre d’outils flottante. Cette barre disparaît.
Exécutez la macro.
Sélectionnez maintenant n’importe quelle autre plage de cellules dans la même feuille et tapez Ctrl + b (le raccourci que vous aviez choisi lors de l’enregistrement de la macro). Les cellules
sélectionnées sont mises en caractères gras, italiques puis centrées. Nous verrons plus loin comment associer vos macros à des boutons sur une barre d’outils ou sur la feuille de calcul ou les incorporer à des menus.
2. Avec l’Editeur de macros
Vous venez de créer une macro avec l’enregistreur de macros. Vous pouvez la lancer en tapant Ctrl + b. Mais vous ne voyez pas encore à quoi elle ‘ ressemble ‘. Cette dernière
est stockée, dans le classeur Excel, dans une zone spéciale en marge des feuilles. C’est le moment d’y entrer.
Ouvrez l’éditeur Visual Basic.
Dans votre feuille de calcul, déroulez le menu Outils, Macro, Visual Basic Editor ou tapez le raccourci Alt + F11. Vous ouvrez l’Editeur Visual Basic (nous l’appellerons désormais
Editeur) (voir écran). Bien qu’incorporé à Office, cet éditeur est un logiciel à part. Vous pouvez donc à tout moment passer d’Excel à l’Editeur et vice-versa en utilisant le raccourci clavier Alt +
Tab.
Découvrez la fenêtre de l’Editeur.
Normalement, vous devez voir deux volets. Dans celui de gauche, apparaissent plusieurs dossiers nommés VBAProject… Cliquez sur celui qui porte le nom du classeur ouvert. Vous trouverez deux
dossiers : Microsoft Excel Objet et Modules. Chacun d’eux est précédé par une icône de dossier et un petit signe. Comme dans l’Explorateur de Windows, ce petit signe (un
‘ – ‘ ou un ‘ + ‘) permet d’afficher ou de masquer le contenu de ce dossier. Grâce à ces deux dossiers vous pourrez choisir où stocker les macros.
Assurez-vous que le dossier Modules est ouvert et double-cliquez sur Module1. C’est toujours dans ce dossier Module1 (sauf indication contraire) que vous écrirez vos nouvelles macros.
Regardez le code.
Dans le volet de droite de l’Editeur, vous voyez apparaître le code, c’est ainsi que l’on désigne la liste des instructions de votre macro. Ici, elles ont été écrites par l’enregistreur. Vous allez y trouver
quelques éléments, communs les. à toutes macros.
un nom. Toute macro commence par l’instruction Sub Nnnn() ?” Nnnn étant le nom de la macro ?”, et se termine par l’instruction End Sub. Ce comporter. nom ne doit
pas d’espaces.
des instructions. Elles sont exécutées, sauf ordre contraire, une fois chacune, de haut en bas. Vous pouvez placer plusieurs instructions sur la même ligne, à condition le. de les séparer par caractère
deux-points (:).
des commentaires. Toutes les lignes qui commencent par une apostrophe, par exemple ‘ Macro enregistrée le Nnn par X xxx, ne sont que des annotations. Elles n’ont aucune influence sur le déroulement
de la macro. Elles sont néanmoins utiles, pour vous comme pour des tiers, pour en expliquer le but ou en détailler des portions complexes. L’Editeur affiche en vert ces lignes de commentaires, mais vous pouvez changer cette couleur, ou
‘ aérer ‘ une macro en y laissant des lignes blanches.
Optimisez la macro.
C’est là un point essentiel à comprendre : les macros que crée l’Enregistreur sont truffées d’instructions inutiles. Ainsi, sur la douzaine de lignes entre le Sub … et le End Sub,
seules trois sont utiles ! Vous allez donc, sans quitter l’Editeur, créer une nouvelle macro, que vous nommerez FormaterMieux et qui fera la même chose que la macro Formater, mais qui ne contiendra
que les instructions nécessaires. Placez le point d’insertion à la fin du texte des macros en tapant Ctrl + Fin, puis Entrée pour passer à la ligne. Saisissez la première ligne de votre nouvelle macro, soit
Sub FormaterMieux() et appuyez sur Entrée. L’Editeur insère automatiquement l’instruction End Sub, la dernière ligne de votre macro, et ajoute un trait horizontal pour la séparer de la précédente. Recopiez à
présent les trois instructions suivantes. Selection. Font. Bold = True Selection. Font. Italic = True Selection. HorizontalAlignment = xlCenter Remarquez qu’Excel colore en bleu les mots-clés reconnus (par exemple Font, True…).
Vous pouvez ainsi identifier les fautes de frappe. Autre aide efficace : l’Editeur complète automatiquement les instructions que vous tapez en proposant, par exemple, la liste des commandes autorisées pour tel ou tel mot-clé. La
première instruction demande à Excel, dans les cellules sélectionnées ( Selection), de modifier la police ( Font) et de donner à la propriété Gras ( Bold) la valeur Vrai ( True). Notez que l’on
décrit les éléments du général vers le particulier. La seconde instruction active les caractères italiques, et la troisième donne à la propriété Alignement horizontal ( Horizontal Alignment) de la sélection la valeur Centré
(xlCenter).
Désactivez la sécurité antivirus.
Par défaut, le système de protection d’Excel contre les macrovirus est placé sur le mode de protection maximal. Pour exécuter vos propres macros sans subir de continuels messages d’avertissements, revenez sous Excel en
cliquant sur le bouton Affichage Microsoft Excel de la barre d’outils de l’Editeur. Déroulez alors le menu Outils, Macro, Sécurité, cochez l’option Basse et validez par OK.
Exécutez la macro.
Vous n’avez pas attribué de raccourci clavier à FormaterMieux. Pour lancer cette macro, sélectionnez une plage de cellules, déroulez Outils, Macro, Macros (ou tapez Alt + F8). Dans la
fenêtre qui s’ouvre, vous voyez s’afficher Formater, la macro créée avec l’Enregistreur et FormaterMieux, celle écrite avec l’Editeur. Pour en lancer une, sélectionnez-la et cliquez sur Exécuter. Notez quelles
font la même chose (voir écran).