lundi 28 octobre 2019

Les macros automatiques


Les macros automatiques servent à enregistrer une suite d'instructions Excel. Cette suite de commande peut être ré-exécutée ultérieurement permettant ainsi d'automatiser des tâches répétitives.

En mode enregistrement, vous pouvez mémoriser toutes les actions Excel comme par exemple :
  • Saisir du texte, saisir un nombre ou une formule de calcul
  • Mettre en forme des cellules, des lignes ou des colonnes
  • Ajouter ou supprimer des feuilles
  • Réaliser ou modifier un graphique
  • Construire un tableau croisé dynamique
  • Créer, ouvrir, fermer, enregistrer, imprimer un classeur...

Toutes les actions effectuées à l'aide d'un bouton du ruban ou d'un menu peuvent se mémoriser afin d'être rejouées.

Toutes les actions sont converties en code Visual Basic mais il n'est pas nécessaire d'être un spécialiste Visual Basic pour créer ou utiliser des macros automatiques.
Lorsque vous exécutez la macro enregistrée, Excel refait de nouveau, et dans le même ordre, toutes les actions que vous avez effectuées lors de l'enregistrement.

Préalable

Si l'onglet "Développeur" ne s'affiche pas dans le ruban, il faut le rajouter à l'aide du menu "FICHIER", "Options" puis "personnaliser le ruban".



Cocher simplement l'onglet "Développeur"
  
Concevons notre première macro.

Prenons un exemple. Nous souhaitons à l’aide d’une seule action pouvoir mettre en gras, couleur rouge, taille 12, avec un format euros avec une seule décimale n’importe quel nombre sélectionné.
Pour cela, nous allons créer une macro qui va mémoriser toutes les commandes à effectuer pour obtenir ce (modeste) résultat.
Il suffira ensuite de rejouer cette macro pour qu’Excel refasse la série de mises en forme mémorisées.

Commençons par saisir un nombre dans une cellule afin de mieux voir le résultat de nos actions.
Attention, dans cet exemple, il ne faut surtout pas saisir un nombre durant l’enregistrement de notre macro. Cela aurait pour conséquence qu’à chaque exécution de notre macro ce chiffre viendrait remplacer le chiffre situé dans la cellule active.
Cliquez sur l'onglet Développeur et choisissez "Enregistrer une macro" dans le groupe "Code".
Indiquez le nom de la macro (pas d'espace dans le nom)

Puis à l'aide des boutons du ruban Excel situés dans l'onglet ACCUEIL, mettre en gras, rouge, Calibri taille 12 le contenu de la cellule active
Toujours à l'aide des boutons du ruban, choisir le format monétaire et appuyer sur le bouton "Réduire les décimales".

Toutes les actions nécessaires ont été mémorisées. Il faut maintenant arrêter l'enregistrement.
 
Cliquer sur l'onglet Développeur et choisissez "Arrêter l'enregistrement" dans le groupe "Code"

Tester la macro enregistrée

Se placer dans une autre cellule, saisir un nombre puis exécuter la macro pour voir si la mise en forme mémorisée s'applique correctement.

Cliquer sur l'onglet Développeur et choisissez "Macros" dans le groupe "Code".
Sélectionner la macro dans la liste qui s'affiche puis appuyer sur le bouton "Exécuter"
Visualiser le contenu de la macro
  
Cliquer sur l'onglet Développeur et choisissez "Macros" dans le groupe "Code".
Sélectionner la macro dans la liste qui s'affiche puis appuyer sur le bouton "Modifier"


Toute macro commence par l’instruction Sub suivi du nom de la macro et se termine par l’instruction End Sub
A chaque action enregistrée correspondent une ou plusieurs lignes de code