Définissez une séquence à automatiser
Maintenant que nous avons défini le VBA et que vous avez compris son utilité, il est temps de commencer à l’utiliser. Vous allez commencer par utiliser l’enregistreur de macro dans Excel.
Un enregistreur de macro, c’est quelque chose qui enregistre du code ?
Vous y êtes presque : l’enregistreur de macro, c’est un outil qui va retranscrire tout ce que vous allez faire sur Excel en code VBA automatiquement. Ainsi, vous n’avez pas besoin d’écrire du code, le logiciel le fait pour vous.
C'est une bonne nouvelle, ça ! Pas besoin d'apprendre le VBA alors, puisqu'un outil va traduire nos actions en code !
Comme souvent, ce n’est pas aussi simple que cela : effectivement l’enregistreur de macro retranscrit des actions en code VBA, et c’est une bonne nouvelle. Vous allez pouvoir commencer par essayer de comprendre le code, puis apporter des modifications mineures. Il y a quand même une limitation à cela :
d’une part, le code n’est pas optimisé ;
d’autre part, il ne permet pas d’utiliser des variables, des boucles, des tests, etc.
Nous verrons cela dans les prochains chapitres, mais c’est important de comprendre ce que vous pouvez faire ou ne pas faire avec l’enregistreur de macro. Finalement, une macro, ce n’est ni plus ni moins que du code VBA qui est écrit automatiquement en fonction des actions que vous allez faire avec votre souris ou votre clavier.
Bon OK, ce n’est pas aussi simple que ce que j’ai pensé au début ; on l’enregistre quand cette macro ?!
Nous y arrivons, mais avant cela, il nous reste encore une chose à définir. En effet, si nous voulons enregistrer une macro, c’est que nous allons faire des actions dans un ordre bien précis que nous souhaitons par la suite refaire automatiquement. Cela implique donc que cette séquence soit logique et bien définie dès le départ. Si vous faites une erreur dans votre séquence, elle sera enregistrée et donc répétée à chaque utilisation de notre macro.
C’est pourquoi il est très important de bien avoir en tête les différentes actions que vous souhaitez faire.
Dans notre cas, nous allons commencer par une séquence très simple :
lancer le logiciel Excel ;
cliquer sur la cellule B1 et écrire “Bonjour” ;
changer la couleur du texte en bleu ;
souligner ce texte.
Maintenant que vous avez défini la séquence, vous n’avez plus qu’à la faire une fois que vous avez lancé l’enregistrement de cette macro.
Enregistrez votre première macro
Pour lancer un enregistrement, rien de plus simple. Il suffit :
d’aller dans l’onglet Affichage ;
puis de cliquer sur la petite flèche en dessous de Macros ;
puis de cliquer sur “Enregistrer une macro”.
Une nouvelle fenêtre s’ouvre :
Appelez votre macro “mise_a_jour” ,
puis cliquez sur “OK” ;
puis exécutez votre séquence que nous avons détaillée plus haut.
Une fois que c’est terminé, il suffit de :
retourner sur “Affichage” ;
puis cliquer sur la flèche vers le bas en dessous de “Macros” ;
et cliquer sur “Arrêter l’enregistrement”.
Bravo ! Vous venez de créer votre première macro !!
Nous allons la tester ensemble, mais pour cela, il faut effacer la cellule B2.
Mais pourquoi doit-on supprimer tout ce que nous avons fait ?
Pour tester votre macro, vous avez besoin de retrouver l’état initial avant l’enregistrement de votre macro. C’est pourquoi vous supprimez ce que vous avez fait dans l’enregistrement de votre macro.
Maintenant, il suffit simplement de relancer votre macro. Rien de plus simple, retournez dans l’onglet "Affichage" d’Excel puis cette fois, cliquez sur “Macros”. Dans cette nouvelle fenêtre, votre macro “mise_a_jour” est présente. Cliquez une fois dessus puis appuyez sur "Exécuter".
Félicitations ! Vous venez d’exécuter votre première macro et si tout s’est bien passé, vous devez vous retrouver dans la cellule B1 “Bonjour”, qui est colorée en bleu et soulignée.
Améliorez l’ergonomie
Comme vous avez pu le voir, lancer une macro par l’onglet "Affichage", puis “Macros”. Choisir la macro puis appuyer sur "Exécuter", ce n’est pas vraiment facile à utiliser…
Pour rendre l’utilisation plus intuitive, nous pouvons associer une macro à un bouton ; ainsi il vous suffira de cliquer sur ce bouton pour que la macro s'exécute. Vous pouvez par exemple créer un rectangle bleu où écrire “Mise à jour”. Pour associer la macro, rien de plus simple, il vous suffit de faire un clic droit sur le bouton puis d’aller dans “Affecter une macro”. Cliquez sur la macro “mise_a_jour” puis cliquez sur “OK”.
Voici un exemple de bouton :
Pour lancer cette macro, il vous suffit simplement de cliquer sur votre rectangle et cela lance la macro "Mise à jour".
Vous pouvez personnaliser les boutons avec les différentes formes, couleurs ou encore effets. Si vous voulez aller plus loin dans la personnalisation, vous pouvez créer vos propres boutons sous forme d’image. Il ne vous reste qu’à associer une macro de la même façon que pour la forme que nous avons créée ensemble.
C’est bien d’avoir un bouton pour lancer une macro, mais il y a une autre solution simple pour le faire, le raccourci clavier.
Vous l’avez peut-être remarqué quand vous avez créé votre macro, il y avait une zone pour entrer une touche de raccourci.
Retournez alors dans la fenêtre Macros (pour rappel, c’est dans l’onglet “Affichage” puis “Macros”).
Sélectionnez votre macro mise_a_jour.
Puis cliquez sur “Options”.
Une nouvelle fenêtre s’ouvre et vous retrouvez dans celle-ci la partie raccourci de la macro, ainsi que la partie commentaire sur la macro.
Dans la zone vide après le “CTRL +”, écrivez “k” puis cliquez sur “OK”.
Cela signifie qu’à chaque fois que vous allez utiliser le raccourci clavier CTRL + K , vous allez lancer votre macro. Je vous laisse essayer !
À vous de jouer !
Maintenant que vous êtes devenu un expert des macros dans Excel, votre manager vous demande de créer une macro afin de simplifier le travail de reporting qu’il doit faire tous les jours.
Voici la liste des différentes choses que vous devez automatiser dans votre macro :
ajouter une colonne à droite de la colonne “Ventes” ;
ajouter une formule pour calculer le chiffre d’affaires ;
passer cette colonne en format monétaire ;
changer la couleur en bleu ;
arrondir cette colonne à 0 chiffre après la virgule ;
faire la somme de toute la colonne CA dans la bonne cellule (avec la fonction SOMME) ;
ajouter une forme rectangulaire et associer la macro afin de faciliter l’utilisation de la macro.
Voici la solution avec le screencast :
En résumé
L’enregistrement d’une macro VBA nécessite une phase de réflexion en amont sur ce que l’on souhaite faire faire à sa macro.
L’enregistreur de macro enregistre simplement les différentes actions pour les reproduire de façon identique.
L’expérience utilisateur peut être améliorée en utilisant des formes et des raccourcis clavier.
Vous avez enregistré votre première macro. Dans le prochain chapitre, nous allons décrypter le code associé à cette macro, et voir comment nous pouvons le modifier.