formateur informatique

Apprendre à créer des macros Excel pour automatiser les tâches

Accueil  >  Bureautique  >  Excel  >  Excel Avancé  >  Apprendre à créer des macros Excel pour automatiser les tâches
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux, voici son url absolue :

Pour l'intégrer sur votre site internet ou blog, vous pouvez l'embarquer :

Sujets et formations similaires :


Macros Excel pour automatiser des tâches répétitives
Ici nous abordons le sujet des macros automatiques, celles que nous concevons en visuel à l'aide des boîtes de dialogues. Les macros permettent d'automatiser les actions et de personnaliser l'environnement de travail. Imaginez que dans vos tâches quotidiennes vous répétiez toute une série d'actions par le biais des rubans et boutons. Pour des raisons de confort, de rapidité et d'homogénéité, il est judicieux de regrouper ces actions sous forme d'un bouton qui permette, une bonne fois pour toutes, d'exécuter toute la série automatiquement et à la vitesse du processeur. L'exercice que nous allons réaliser propose d'appliqeur un format Kg aux poids des fruits dans la colonne Poids. Une unité de mesure telle que le Kg ne doit jamais être saisie dans la cellule sous peine de transformer son contenu en texte. Dès lors les calculs sur les valeurs ne sont plus possibles. Un format doit toujours être appliqué. Lorsqu'il n'existe pas, il doit être créé.
  • Télécharger le classeur macros-excel-format-personnalise.xlsx en cliquant sur ce lien,
  • L'ouvrir dans Excel,

Procédure : Nous allons appprendre à créer un format personnalisé, le Kg ici. En déclinant cette méthode, vous saurez désormais créer n'importe quel autre format. Ensuite, plutôt que de l'appliquer directement sur les poids des fruits, nous proposons de créer une Macro qui par clic sur un bouton appliquera ce format aux cellules sélectionnées. Nous faisons ainsi d'une pierre deux coups.

Format personnalisé - Unité Kg
  • Cliquer dans une cellule vide arbitraire, par exemple A1,
  • Taper la valeur 100,
  • Valider par Ctrl+ Entrée.
Vous conservez ainsi la cellule active.
  • Dans le ruban Accueil, section Nombre, cliquer sur la flèche de la liste déroulante où il est inscrit Standard.
Cela signifie que le format attribué à toute cellule par défaut est le format Standard d'Excel qui gère les nombres et les textes.
Liste des formats numériques dans le ruban Excel
  • Dans la boîte de dialogue, cliquer sur la gauche sur la catégorie Personnalisée,
Dans la liste de droite s'affichent tout un tas de codes assez compliqués à interpréter. Retenons que les deux formats numériques standards utilisés par Excel sont les suivants : # ##0 et # ##0,00. Le premier correspond à un format numérique sans décimale. Le second est identique mais avec décimales. Les dièses (#) signifient que les zéros superflus en préfixe sont éliminés. L'espace entre le premier dièse et le deuxième matérialise le séparteur de milliers. C'est ainsi que les nombres seront mis en forme dans la cellule, si nous leurs appliquons ces formats. Nous allons emprunter l'un de ces formats et le compléter pour en faire un format personnalisé, le Kg.
  • Sélectionner le format # ##0 dans la liste de droite,
Il s'affiche alors dans la zone de saisie Type juste au dessus.
  • Cliquer dans cette zone Type juste après le 0 pour compléter le format,
  • Ouvrir un guillement (Touche 3 duclavier),
  • Taper un espace (pour séparer l'unité du nombre),
  • Taper Kg,
  • Puis fermer le guillemet (Touche 3 du clavier),
  • Valider en cliquant sur Ok.
Création format numérique personnalisé avec Excel
Voilà vous venez de créer le format Kg et vous remarquez qu'il est appliqué à la cellule restée active.
  • Cliquer sur la cellule A1 si elle n'est pas active,
Aperçu du format Kilogrammes dans la barre de formules
En consultant la barre de formules juste au dessus, vous remarquez qu'il est écrit 100 et non 100 Kg. La barre de formule transcrit le contenu exact de la cellule. En effet nous avons tapé 100 et appliqué le format Kg. Son contenu exact est donc 100. S'il est écrit 100 Kg, cela signifie que la cellule est considérée comme du texte par Excel. Si nous imaginons que nous utilisons régulièrement ce format dans nos différents classeurs Excel, nous allons constater que son application est assez longue.
  • Cliquer dans la cellule A2,
  • Cliquer de nouveau sur la liste déroulante de la section Nombre du ruban Accueil,
  • En bas de la liste, cliquer sur Autres formats numériques,
  • Dans la boîte de dialogue, sélectionner la catégorie Personnalisée,
  • Dans la partie centrale, dérouler la liste tout en bas,
  • Sélectionner le format # ##0' Kg' qui vient d'être créé,
  • Cliquer sur Ok pour l'appliquer à la cellule.
Certes ici nous aurions pu utiliser le bouton Reproduire la mise en forme pour répliqué le format Kg sur cette seconde cellule. Mais dans le cas d'un nouveau classeur, c'est à chaque fois pas moins de 7 actions à reproduire. C'est pourquoi nous souhaitons créer une macro permettant d'appliquer ce format par un clic sur un bouton. La création de la macro se déroule en deux grandes étapes. La première consiste à simuler les actions qu'Excel va enregistrer pour les automatiser dans le but de les reproduire. Ainsi nous allons lui montrer comment nous faisons pour appliquer le format Kg et lui, va apprendre. La seconde étape consiste à créer le bouton pour matérialiser la macro. L'utilisateur n'aura plus qu'à cliquer dessus pour appliquer le format comme il le fait déjà pour l'Euro.



Création de la Macro - Enregistrement
  • Cliquer dans une cellule vide arbitraire,
  • Cliquer sur le ruban Développeur pour l'activer,
Si ce dernier n'est pas présent, voyons comme le rajouter.
  • Cliquer sur le menu Fichier,
  • Dans la liste de gauche, tout en bas, cliquer sur Options,
  • Dans la boîte de dialogue, cliquer sur Personnaliser le ruban dans la liste de gauche,
  • Dans la liste de droite, onglets principaux, cocher le ruban Développeur,
  • Valider ce choix en cliquant sur Ok,
  • Cliquer sur le bouton Enregistrer une macro de la section Code du ruban Développeur,
Avant de suivre ces actions, Excel vous demande quelques précisions comme le nom de la macro et son emplacement pour la sauvegarder.
  • Taper format_kg dans le champ Nom de la Macro,
Attention de ne jamais mettre d'espace dans les noms de macros. Evitez de même tous les caractères latins (Apostrophes, accents, etc...).
  • Conserver la liste Enregistrer la macro dans sur Ce classeur,
Ainsi la macro existe avec ce classeur. Son utilisation en dehors ne sera pas possible. Si vous souhaitez que votre macro soit disponible pour toutes les utilisations à venir d'Excel, choisissez classeur de macros personnelles qui correspond au modèle Excel.
  • Cliquer sur Ok.
Enregistrer une macro automatique avec Excel
A partir de maintenant, il faut réaliser scrupuleusement les actions à enregistrer pour appliquer le format Kg. Il faut être très précis et ne pas se tromper car Excel enregistre tout. Par exemple, il ne faut pas cliquer dans une cellule de la feuille, sinon Excel la mémorise et la macro se reproduira uniquement sur cette cellule.
  • Cliquer sur l'onglet Accueil pour activer ce ruban,
  • Comme toute à l'heure, dérouler la liste de la section Nombre,
  • Choisir Autres formats numériques tout en bas de la liste,
  • Dans la boîte de dialogue, cliquer sur la catégorie Personnalisée,
  • Dérouler la liste centrale tout en bas,
  • Cliquer sur le format Kg précédemment créé,
  • Cliquer sur Ok pour appliquer le format.
Voilà ce que nous souhaitons qu'Excel retienne, pas une action de plus. La macro étant terminée, sans autre action intermédiaire, nous devons arrêter l'enregistrement.
  • Cliquer sur l'onglet Développeur,
  • Dans le ruban Développeur, cliquer en haut à gauche sur Arrêter l'enregistrement,
Arrêter enregistrement macro Excel
La première phase est terminée. Maintenant nous devons matérialiser la macro par un bouton.

Création du bouton de la macro
Au dessus des onglets de rubans se situe ce que l'on appelle la barre d'accès rapide avec notamment les boutons Enregistrer et Annuler. En dernière position sur la droite, se trouve une flèche dirigée vers le bas :
  • Cliquer sur cette flèche,
  • Puis cliquer tout en bas sur Autres commandes,
La boîte de dialogue Options Excel s'affiche.
  • Dans la liste des catégories, choisir Macros,
  • Dans la liste du dessous, sélectionner la macro format_kg,
  • Cliquer sur le bouton Ajouter de la partie centrale,
Affecter une macro à un bouton dans barre outils
Ainsi vous remarquez que votre macro est ajoutée à la barre d'accès rapide avec les autres boutons comme Enregistrer.
  • En bas de la boîte de dialogue, cliquer sur le bouton Modifier,
  • Choisir une image pour votre bouton,
  • Cliquer sur Ok,
  • Puis cliquer de nouveau sur Ok pour valider la boîte de dialogue,
Affecter une image à un bouton de macro Excel
Votre macro apparaît dans la barre d'accès rapide au dessus des rubans. Il ne reste plus qu'à la tester.
  • Sélectionner les nombres de votre tableau (D8 à D11),
  • Cliquer sur le bouton que nous venons d'ajouter.
Exécuter macro automatique avec Excel
Tous les poids sont effectivement formatés en Kg en un seul clic. C'est très confortable pour les actions à venir.
  • Réaliser la somme automatique pour afficher le total.
Bien sûr, comme il s'agit d'un format, Excel est capable de manipuler ces nombres et fournit le résultat.



Code VBA - Introduction
Chacune des macros, chaque action qu'Excel enregistre lorsque nous réalisons les manipulations est transcrite en code VBA, Visual Basic pour Applications. Cela signifie que nous pouvons accéder à ce code pour le consulter, pour apprendre à programmer en VBA ou pour le modifier.
Accéder à la liste des macros VBA dans Excel
  • Pour ce faire, activer le ruban Développeur,
  • Dans la section Code, cliquer sur le bouton Macros,
  • Dans la boîte de dialogue, cliquer dans la liste sur la macro format_kg,
  • Puis cliquer sur le bouton Modifier,
Vous basculez dans l'éditeur de code. Comme vous le remarquez, le code qui reproduit toutes nos actions est très simple :
Sub format_kg()
Selection.NumberFormat ='#,##0'' Kg'''
End Sub

En effet il se contente d'appliquer le format numérique personnalisé #,##0' Kg' en affectant cette valeur à la propriété NumberFormat de l'objet Selection. L'objet selection représente les cellules sélectionnées au moment de cliquer sur la macro. Toutes les autres actions ne sont pas retranscrises car il s'agit simplement d'actions utilisateur qui consistent à afficher des boîtes de dialogues et préférences. En nous inspirant de ce code, nous pourrions très facilement créer une macro pour appliquer le format ml (Millilitres).
  • Copier l'intégralité du code de Sub... à End Sub,
  • Le coller en dessous,
  • Changer le nom format_kg() en format_ml(),
  • Remplacer Kg par ml dans la ligne de code qui affecte le format,
  • Enregistrer le code (CTRL + S),
Recopier code macro vba Excel
  • Revenir sur la feuille de calcul,
  • Cliquer sur la flèche de la barre d'accès rapide,
  • Puis cliquer tout en bas sur Autres commandes,
  • Dans la boîte de dialogue, choisir la catégorie Macros,
Vous le remarquez, dans la liste figure désormais la macro format_ml que nous venons de créer en plus de la macro format_kg que nous avions précédemment créée en enregistrant les actions. Cette macro est reconnue dans le code par le nom que nous lui attribuons format_ml() après le mot clé Sub qui définit le début de la procédure de code de la macro.
Associer une macro Visual Basic à un bouton
  • Ajouter cette macro format_ml à la barre d'accès rapide comme précédemment,
  • Lui attribuer une icône avec le bouton Modifier,
  • Cliquer deux fois sur Ok pour valider.
Il ne vous reste plus qu'à tester ce bouton sur une plage de cellules numériques. Et vous constatez que tous les nombres sont instantanément passés au format numérique ml.



 
Sur Facebook
Sur G+
Sur Youtube
Les livres
Contact
Mentions légales



Partager la formation
Partager sur Facebook
Partager sur Google+
Partager sur Twitter
Partager sur LinkedIn