À la découverte des Macros et du code VBA : automatisez des traitements à faible valeur ajoutée

Publié le 18 novembre 2022 - Systèmes d'information

L’automatisation de tâches répétitives est une étape déterminante pour optimiser les activités d’une entreprise, société ou organisation.

Avez-vous des tâches chronophages et sans valeur ajoutée sur Excel ? Devez-vous faire de la mise en forme, de la structuration de données chaque matin, rechercher quotidiennement certains chiffres puis les enregistrer dans un autre onglet ?

2 outils dans Excel peuvent vous permettre d’automatiser ces traitements à faible valeur ajoutée :

  • L’utilisation de Power Query : voir la newsletter 9 pour plus d’informations
  • Les macros et le code VBA que nous allons aborder aujourd’hui

 

Qu’est-ce que les macros et le code VBA ?

« Une macro est une action ou un ensemble d’actions que vous pouvez effectuer autant de fois que vous le souhaitez. Lorsque vous créez une macro, vous enregistrez vos clics de souris et vos frappes de touche » (définition Windows).


Dans les faits, la définition de Windows est trop restrictive. En effet, une macro peut servir à faire de simples copier-coller, de la mise en forme, mais aussi à faire des calculs plus ou moins complexes, automatiser des tâches répétitives ou encore faire des contrôles de cohérence, etc.


Le tout repose sur une base d’algorithmes. Par ailleurs, avoir une bonne logique et du recul sur les tâches que l’on souhaite réaliser est essentiel dans la mise en place de macro.

Dans quel cas puis-je faire une macro ?
Comme vu précédemment, la macro va effectuer et répéter des tâches qu’on lui a précédemment indiquées de suivre. Il faut alors juger si la situation se prête à la mise en place d’une macro.
Avant de connaître un bénéfice de production, qu’il soit en termes de temps ou de qualité de donnée, il faut prendre en considération le fait que le temps de création de la macro peut être significatif.
Ce temps de développement est à comparer avec la mise en place d’un développement via des formules Excel ou sur Power Query.

Voici les questions à se poser dans un premier temps :

Les risques de la macro !

C’est très en vogue d’utiliser une macro dans son fichier car cela peut être très pratique et permettre de vrais gains de temps. Mais vigilance, car le rêve peut tourner au cauchemar :


La macro n’effectuera jamais votre travail à votre place.
Elle a pour rôle de vous assister et de vous libérer dans les tâches sans valeur ajoutée.


Une macro mal configurée vous fera perdre plus de temps que le gain proposé.
En effet, une macro peut dysfonctionner pour des raisons diverses (problème de format des plages de données, changement de nom d’onglet, bug…).

Le temps de maintenance d’une macro mal configurée ou mal conçue vous fera perdre plus de temps parfois, que de réaliser la tâche en question sans macro.


Une macro sans mise en place de contrôle de cohérence engendre de gros risques d’erreurs.
La machine ou du moins Excel n’est pas la faculté de réflexion et d’adaptation au changement que l’humain peut avoir.
La macro réalisea les tâches en fonction des instructions que nous avons décrites.
Le recul et l’anticipation des changements sont importants de même que la compréhension complète de la macro mise en place.

 

S’il existe plusieurs solutions qui par de simples formules Excel peuvent répondre à votre besoin : les avez-vous étudiées ?
Tous les besoins ne parviennent pas une macro même si la tentative de réaliser une tâche en cliquant simplement sur un bouton est grande. Excel propose un grand nombre de solutions grâce à son large choix de formules.
De plus, associer les macros de petite taille avec des formules Excel assez évoluées peut créer une synergie très aboutie.

 

Comment créer une Macro ?

Pour créer une macro sur Excel, il existe trois possibilités :

Nous allons voir maintenant plus en détails les différentes façons de coder avec les bonnes et les mauvaises pratiques :

Comment réaliser sa première Macro ?

Pour cette première newsletter sur VBA, nous allons travailler sur la méthode, soit les macros mises en place grâce à l’enregistreur Macro.
Comme vu précédemment l’enregistreur va uniquement enregistrer une suite d’actions que vous allez réaliser, ni plus ni moins.

Étape 1
On accède à l’enregistreur de macro par le module « développeur » dans Excel. Si ce module n’est pas présent dans votre bandeau Excel, il suffit de l’ajouter à partir des options Excel :

Étape 2
On lance l’enregistreur de macro puis on réalise les tâches effectuées à l’avance sans aucune autre tâche qui interfère.
Pour une bonne réalisation de macro via enregistreur, il est fortement conseillé de jouer plusieurs fois le scénario avant de lancer l’enregistreur de macro.
Cela va vous permettre de ne pas avoir à recommencer plusieurs fois, de ne pas ajouter des actions parasites mais aussi d’avoir le recul suffisant pour bien inclure toute la suite d’actions dans le bon ordre.

Etape 3

Une fois l’enregistrement de macro lancé, nous avons l’interface ci-contre qui apparaît.

Nom de la macro :
On vient ici donner un nom à la macro : c’est important de le nommer surtout si sur plusieurs macros. Il convient de la numérotation par sa fonctionnalité (ici ma macro s’appelle « BONJOUR »).
Dans le cas où la macro n’est pas nommée, elle s’appellera par défaut « Macro1 », puis « Macro2 », etc.

Touche de raccourci :
On peut choisir un raccourci clavier qui nous permet de lancer la macro (j’ai choisi le raccourci « Ctrl+Maj+B). Le raccourci peut s’avérer pratique pour lancer rapidement la Macro.

Enregistrer la macro sous :
Le lieu d’enregistrement correspond au classeur Excel dans lequel est enregistrée la macro. Dans cet exemple, j’ai choisi de l’enregistrer dans le classeur Excel sur lequel je travaille.
Il est possible que la macro soit enregistrée dans un autre classeur, dans ce cas, pour lancer la macro, les deux classeurs doivent être ouverts en même temps.
Il est par ailleurs possible de lancer une macro dans un fichier Excel ne contenant pas de macro si le fichier portant la macro est ouvert en même temps.

Description :
La description permet de donner des indications sur les fonctionnalités de la macro, elle peut être utile quand elle est utilisée par plusieurs collaborateurs (ici ma macro va me servir à écrire « BONJOUR » dans la cellule A1).

Quand je vais cliquer sur « OK », l’enregistrement de mes actions clavier et clic souris commence.
Une fois l’enchaînement des actions terminée, on clique sur « Arrêter l’enregistrement ».

La macro est créée, pour la lancer, 3 possibilités :

  • Le raccourci enregistré lors de la création
  • Insérer un bouton auquel on affecte la macro
  • Ou enfin à partir de la fonction Macro de l’onglet développeur.

Voilà le code généré par l’enregistreur de macro :

Conclusion

Pour résumer, les macros sont des enregistreurs de tâches sur Excel, elles vont effectuer un certain nombre de tâches à votre place, autant de fois que vous le souhaitez pour la mise en forme de la copie de données.

Vous allez pouvoir vous lancer dans vos premières macros !

Mais la contrainte de l’enregistreur qui vous fournit une macro très statique (elle n’exécute que les tâches que vous lui avez rejetées par votre clique bouton), vous limitez à de simples mises en forme et autres copieurs-collers répétitifs.

L’autre contrainte est celle du format des données : si celui-ci change, la macro ne change pas, il faudra créer une nouvelle macro.

Prenons l’exemple d’une simple recopie de balance. Si vous avez une balance extraite sous un certain format et que vous pouvez supprimer deux colonnes et la copier dans un deuxième onglet. Le premier mois votre balance fait 30 lignes, vous créez une macro sur cette base. Si, le mois suivant, vous avez 5 nouveaux comptes, la macro n’effectuera le traitement que sur 30 lignes.

Nous verrons prochainement les possibilités qu’offre le niveau intermédiaire avec l’utilisation de l’enregistreur couplé avec quelques ajouts de lignes de codes simples qui produisent la macro plus dynamique.

N’hésitez pas à nous contacter par email ou via notre site internet si vous avez besoin d’un accompagnement pour implanter ou vous former sur le langage VBA dans votre organisation.

Publié le 18 novembre 2022 - Systèmes d'information

Ces articles pourraient vous intéresser

  • https://www.emargence.fr/wp-content/uploads/2022/01/ACTU-EMARGENCE_Suivi_medical-1280x640-1.png
    Actualité 18 janvier 2022
    Les règles en matière de visites médicales de pré-reprise et reprise après un arrêt de travail évoluent. Cela fait suite à la publication de la loi dite “santé au travail” en août 2021. Les informations ci-dessous précise quand la visite doit être organisée, pour les arrêts qui dé...
  • https://www.emargence.fr/wp-content/uploads/2022/01/ACTU-EMARGENCE_BonsAchat-34.png
    Actualité 18 janvier 2023
    À l’occasion des Jeux olympiques 2024 et de la Coupe du monde de rugby 2023, un dispositif exceptionnel d’attribution de bons d’achat et de cadeaux en nature !Une bonne nouvelle se partage. Découvrez un dispositif exceptionnel du Ministère de l’Économie, des Finances et de la Souverainet...
  • https://www.emargence.fr/wp-content/uploads/2023/09/RSE_bilan_carbone.png
    Actualité 03 octobre 2023
    Nous avons le plaisir de vous annoncer une étape significative dans notre engagement en faveur de la durabilité environnementale. Emargence a obtenu la Licence d’exploitation Bilan Carbone®. Cette accréditation renforce notre capacité à vous accompagner dans la réalisation de bilans car...

Contactez-nous pour obtenir une offre personnalisée

Nous contacter