• 12 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 11/10/2024

Automatisez vos tâches avec les macros VBA

Votre responsable vous demande de mettre à jour votre tableau de bord tous les trimestres. Cela fait beaucoup de traitements à chaque fois ! 😱

Heureusement, vous pouvez utiliser les macros pour vous simplifier la vie… 😇

Vous avez peut-être déjà entendu parler de “macros”, de “VBA”, mais en réalité, c’est quoi ?

Découvrez les macros

Créez un classeur accueillant des macros

Une macro, c’est un programme informatique qui réalise des actions dans Excel.

Ce programme est enregistré dans le classeur Excel que vous souhaitez. Il faut simplement que ce classeur soit enregistré sous un format particulier.

Pour enregistrer votre fichier avec la bonne extension :

  • Créez un nouveau classeur.

  • Dans l’onglet “Fichier”, cliquez sur la commande "Enregistrer sous”.

  • Sélectionnez le format “Classeur Excel (prenant en charge les macros) (.xlsm)”.

  • Choisissez un emplacement, nommez votre fichier, puis cliquez sur OK.

Le fichier est bien renommé avec l’extension “.xlsm”
Le fichier est bien renommé avec l’extension “.xlsm”

À ce stade, le fichier ne contient pas encore de macros, mais il peut maintenant en accueillir. 😊

Ouvrez un classeur accueillant des macros

Si vous ouvrez un classeur au format “.xlsm” pour la première fois, et que celui-ci contient des macros, Excel vous demande si vous souhaitez activer les macros.

Si vous souhaitez activer les macros, cliquez sur le bouton Activer le contenu
Si vous souhaitez activer les macros, cliquez sur le bouton Activer le contenu

Créez votre première macro

Votre responsable vous envoie un nouveau fichier de données, celui de mai 2021, au même format que celui du début de la formation (partie 2, chapitre 3, liste de données complète). Je vous invite à le télécharger pour suivre la démonstration. 

Votre objectif est de créer une macro qui supprime les espaces inutiles à votre place. 😊

Enregistrez une nouvelle macro

Pour créer votre première macro, vous devez afficher l’onglet “Développeur”, qui est masqué par défaut dans Excel.

Voici comment faire :

  • Faites un clic droit n’importe où au-dessus des icônes du ruban.

  • Cliquez sur “Personnaliser le ruban…”.

  • La fenêtre des onglets/icônes apparaît ; sur la droite, cochez la case “Développeur”.

Cochez la case de l’onglet “Développeur”
Cochez la case de l’onglet “Développeur”
  • Cliquez sur OK, et voilà ! Le nouvel onglet apparaît !

Pour votre première macro, vous allez enregistrer une macro automatique, qui va enregistrer les manipulations que vous effectuez :

  • Ouvrez le fichier téléchargé ci-dessus.

  • Onglet “Développeur”, cliquez sur l’icône .

  • Dans la boîte de dialogue qui s’affiche, saisissez le nom de votre macro, ici “Première_Macro” (les espaces sont interdits).

Commencez l’enregistrement de votre macro
Commencez l’enregistrement de votre macro
  • Cliquez sur OK.

  • Effectuez les manipulations que vous connaissez déjà pour supprimer les espaces inutiles :

    • ajout d’une colonne à droite de la colonne B “Country_Cod” ;

    • remplissage de la colonne C avec la fonction SUPPRESPACE() ;

    • copie de la colonne C vers la colonne B ;

    • suppression de la colonne C.

  • Terminez l’enregistrement en cliquant sur l’icône .

Et voilà, vous venez d'enregistrer votre première macro ! 😀

Exécutez une macro existante

Une fois votre macro enregistrée, vous pouvez l’exécuter à nouveau.

Pour exécuter votre macro :

  • Onglet “Développeur”, cliquez sur l’icône .

  • La boîte de dialogue affiche toutes les macros de tous les classeurs ouverts.

Sélectionnez la macro que vous venez de créer
Sélectionnez la macro que vous venez de créer
  • Cliquez sur “Exécuter”.

  • Toutes les manipulations que vous aviez réalisées manuellement s'exécutent à nouveau, à très grande vitesse !

Utilisez Visual Basic pour visualiser votre macro

Ouvrez Visual Basic

Et concrètement, elle est où ma macro ? 😅

Pour visualiser votre macro, vous devez ouvrir une fenêtre dédiée aux macros, appelée éditeur “Visual Basic”.

Pour ouvrir cette fenêtre :

  • Onglet “Développeur”, cliquez sur l’icône . Vous pouvez également utiliser le raccourci Alt + F11. 😉

  • La fenêtre s’ouvre.

Découvrez la fenêtre Visual Basic : à gauche les fenêtres 'Projet
Découvrez la fenêtre Visual Basic : à gauche les fenêtres 'Projet" et "Propriétés", à droite, l'affichage principal.

Visual Basic se décompose en 2 parties :

  • Sur la gauche en haut, la fenêtre “Projet”, où se trouvent les fichiers ouverts. Les macros enregistrées se situent dans des “modules”.

  • Sur la gauche en bas, la fenêtre “Propriétés” du module sélectionné.

  • Sur la droite, l’affichage principal, qui détaille le module sélectionné.

Lisez votre première macro

En double-cliquant sur le module, vous pouvez voir le code de la macro que vous venez d’enregistrer.

Le code de votre première macro est celui-ci :

Le code de votre première macro s’affiche
Le code de votre première macro s’affiche

Impressionnant, n’est-ce pas ? 😅

Vous pouvez découper ce code en plusieurs parties :

Lisez et déduisez les 4 parties du code
Lisez et déduisez les 4 parties du code
  • Partie 1 : on sélectionne la colonne C, et on insère une colonne.

  • Partie 2 : on insère une formule en cellule C2, et on remplit (autofill) les cellules C2 à C116 avec cette formule.

  • Partie 3 : on sélectionne les cellules C2:C116, qu’on copie puis colle en valeur.

  • Partie 4 : on supprime la colonne C.

Vous retrouvez bien les manipulations effectuées manuellement ! 😊

Automatisez vos tâches

Affectez votre macro à un bouton

Plus vous avez une tâche récurrente, plus l’intérêt de créer une macro pour effectuer cette tâche est grand !

Vous allez donc vouloir accéder rapidement à vos macros, sans passer par l’onglet “Développeur”.

L'idéal est de créer un bouton qui lancera votre macro de suppression des espaces inutiles :

  • Créez une nouvelle forme : onglet “Insertion” (ou "Illustration" sous Mac), icône , puis créez un rectangle (.

  • Écrivez le texte “Supprimer les espaces inutiles colonne B” à l’intérieur.

  • Ouvrez le menu contextuel de cette forme.

Cliquez sur la ligne “Affecter une macro...
Cliquez sur la ligne “Affecter une macro..."
  • Sélectionnez la ligne de votre macro, et cliquez sur “OK”.

Et voilà ! À chaque fois que vous cliquerez sur ce bouton, la colonne B sera retraitée. 😊

Adaptez la macro en fonction de vos besoins

Modifiez le code de la macro

Votre responsable vous envoie un nouveau fichier, sur juin 2021, contenant 100 lignes de plus que celui de mai 2021.

Pas d’inquiétude 😇, cela est dû au fait que la macro contient des références absolues aux numéros de ligne, comme ici à la ligne 116 :

Cette macro ne recopie la formule que jusqu’à la ligne 116
Cette macro ne recopie la formule que jusqu’à la ligne 116

Vous avez simplement à remplacer le nombre 116 par un nombre bien plus grand, comme 10 000, et relancer la macro !

Voilà, votre macro est maintenant adaptée à tout nouveau fichier ! 😊

Cumulez plusieurs macros

Vous avez créé la macro supprimant les espaces inutiles (“Première_Macro”), vous pouvez maintenant créer d’autres macros , en passant aux étapes suivantes :

  • “Suppr_Doublons”, qui supprime les doublons de la nouvelle base ;

  • “Format_Categ”, qui transforme la colonne Categ ;

  • etc.

Une fois ces macros créées, vous pouvez créer manuellement une macro "maîtresse" qui les regroupe toutes.

Ainsi, tous les retraitements se feront d’un coup ! 😀

Utilisez le terme “Call” pour créer cette macro :

Macro qui en appelle plusieurs autres
Macro qui en appelle plusieurs autres

À vous de jouer !

Téléchargez ce fichier et réalisez les opérations suivantes :

  • Créez une macro automatique, nommée “Format_Texte_En_Format_Nombre”, qui transforme la colonne “Sales” (format texte) en format nombre. Indice : utilisez la fonction CNUM() pour transformer cette colonne. 😉

  • Créez un bouton, auquel vous affectez cette macro.

  • Modifiez cette macro pour qu’elle fonctionne si la base atteint 1 000 lignes.

Corrigé

Vous pouvez consulter le corrigé et regarder la vidéo ci-dessous pour vérifier votre travail.

En résumé

  • Pour automatiser certaines tâches, Excel vous propose d’utiliser des macros.

  • Pour utiliser des macros, vous devez enregistrer vos fichiers au format .xlsm.

  • Vous pouvez modifier et adapter vos macros grâce à l’éditeur Visual Basic.

  • Automatisez vos tâches, en affectant vos macros à une macro principale, et en affectant celle-ci à un bouton.

Bravo ! Vous avez maintenant atteint un niveau avancé sur Excel ! 🥳 Prêt pour la certification TOSA ? 

Exemple de certificat de réussite
Exemple de certificat de réussite