Pourquoi l’usage macros dans Excel n’est pas plus répandu?

Publié le 21 juillet 2020
par Sophie Marchand M.Sc.
Éditeur de code VBA

L’article suivant se veut une réponse d’un consultant en informatique, qui me demandait : “Pourquoi l’utilisation des macros dans Excel n’est pas plus répandue”. D’abord, il faut préciser que lorsqu’on parle de macros, de nombreux usagers d’Excel ne savent tout simplement pas de quoi il s’agit ou alors, ils croient à tort que les macros se limitent aux possibilités offertes par l’enregistreur de macros (qui enregistre une série d’actions et peut la répéter sur demande) alors que les macros dans Excel sont supportées par un langage de programmation très riche, le VBA (Visual Basic for Applications). L’enregistreur de macros est facile à maîtriser par les usagers mais est limité en termes de bénéfices. La programmation VBA, quant à elle, est beaucoup plus difficile à apprendre mais ouvre aussi beaucoup plus de possibilités.

 

Enregistreur de macros

Utilisation de macros dans Excel

 

Éditeur de code VBA

Utilisation des macros dans Excel

 

Questionnement sur l’utilisation des macros dans Excel

Un consultant informatique m’a fait parvenir un courriel qui ressemblait à un cri de désespoir, dont voici l’essentiel du message:

J’exerce une activité en consultance informatique. L’essentiel de mon travail est consacré à l’implémentation de logiciels de gestion. Il m’arrive aussi de développer de petits programmes sur mesure en VBA. Il s’agit plutôt d’une activité complémentaire. Ce ne sont jamais de gros projets mais (presque) chaque fois que je les livre, les clients disent un « Ah ! Si j’avais su plus tôt qu’on pouvait faire ça ! ». Ça reste un mystère pour moi… Quel est le problème avec les développements en VBA ? Pourquoi cette technologie n’est pas plus répandue, plus connue ?Consultant informatique

 

Quelles sont les avantages de l’utilisation des macros dans Excel?

L’utilisation de macros VBA dans Excel, en entreprise, permet principalement de :

 

  • Créer des formulaires pour l’entrée de données, comme par exemple :
    • L’entrée de données pour des comptes de dépenses ;
    • L’entrée de données pour la facturation ;
    • Etc.

Ces données peuvent ensuite être compilées dans un base de données Excel, qui peut être analysée.

 

  • Automatiser des tâches, comme par exemple :
    • Consolider les informations entrées via des formulaires ;
    • Importer des données de fichiers Excel externes dans le fichier actif ;
    • Exporter des données du fichier Excel actif vers d’autres fichiers ;
    • Modifier les données importées (optimiser le format et la structure) ;
    • Envoyer des courriels à partir d’informations stockées dans des cellules du fichier Excel actif ;
    • Etc.

Ces tâches peuvent être exécutées sur commande via un bouton ou alors selon certaines règles, comme à l’ouverture du fichier, par exemple.

 

Ces tâches seraient plus laborieuses ou impossibles à faire sans langage VBA.

 

Vous avez des sources de données volumineuses à rassembler et analyser dans Excel ? Apprenez à automatiser tout le processus d’importation, de transformation et de modélisation  des données avec nos formations sur Power Query et Power Pivot dans Excel.

 

En somme, utiliser le langage VBA dans un fichier Excel permet de sauver énormément de temps et d’éviter des erreurs de manipulation.

 

Quels sont les freins des entreprises à l’adoption des macros dans Excel ?

Voici à mon avis, les principales raisons qui freinent l’adoption des macros en entreprise:

  • Apprendre à programmer en langage VBA n’est pas simple. Il faut y investir beaucoup de temps et ce ne sont malheureusement pas tous les usagers qui ont le temps et/ou la volonté de se former de la sorte.
  • Excel évolue constamment, ce qui peut affecter la performance de code rédigé dans le passé. Le passage d’une version Excel à une autre peut effectivement compromettre le comportement de certaines macros, ce qui décourage souvent les usagers d’en faire l’emploi.
  • Il est pratiquement impossible de développer des macros qui pourront fonctionner dans tous les contextes sans exception, sans avoir testé à l’avance tous ces contextes. Il faut donc accepter le fait que les macros pourront, à l’occasion, entraîner des problèmes.
  • Le code VBA ne peut pas être exécuté sur le web, via par exemple, Excel Online alors que nous sommes dans une ère où la majorité des programmes peuvent être exécutées en ligne.
  • Ceux qui savent programmer en VBA ont tendance à développer des programmes peu documentés. Lorsqu’ils quittent l’entreprise ou lorsqu’ils sont absents, il est difficile de trouver des remplaçants pour assurer le bon fonctionnement des macros. Ceci place les entreprises dans des positions difficiles.
  • Toutes ces raisons forcent souvent les entreprises à déléguer le développement de macros VBA à l’externe, ce qui peut nuire à leur autonomie et les placer dans une situation délicate.

 

Quelles sont les alternatives plus modernes aux macros dans Excel ?

Il existe désormais des alternatives pour plusieurs fonctionnalités qui pouvaient jadis être uniquement réalisées dans Excel par l’usage du langage VBA. L’avantage de ces alternatives repose notamment sur le fait qu’elles sont conçues à partir de technologies “low code” ou “no code”, ce qui en facilite grandement l’apprentissage et l’adoption.

 

Par exemple, pour créer des formulaires d’entrée de données et compiler automatiquement les résultats, on peut désormais avoir recours à différentes solutions comme :

 

Pour automatiser des tâches, Excel dispose maintenant de:

Contenu flux

 

Ce faisant, les usagers qui ne maîtrisent pas encore le langage VBA ont tendance à se tourner vers l’apprentissage de solutions plus modernes comme Power Query, Power Pivot, Power Apps, Power Automate et les formulaires Excel.

 


 

Formation complémentaire

Pour automatiser davantage vos tâches dans Excel, nous vous recommandons de suivre notre formation Excel – Introduction à Power Query et au langage M.

 

Voici quelques commentaires d’apprenants ayant suivi la formation en ligne Excel – Introduction à Power Query et au langage M:

Voici quelques commentaires d’apprenants ayant suivi la formation - Excel Introduction à Power Query et au langage M
CFO-Masque_Formations-en-ligne_FBLa mission du CFO masqué est de développer les compétences techniques des analystes et des contrôleurs de gestion en informatique décisionnelle avec Excel et Power BI et favoriser l’atteinte de leur plein potentiel, en stimulant leur autonomie, leur curiosité, leur raisonnement logique, leur esprit critique et leur créativité.

1 réflexion sur “Pourquoi l’usage macros dans Excel n’est pas plus répandu?”

  1. JACQUES-HENRY BORG-FLORENTIN

    Bonjour
    Concernant les freins à l’utilisation de la programmation VBA dans une solution Excel, je voudrais ajouter deux arguments.
    En premier, une bonne structuration de la solution tableur associée à une bonne utilisation des fonctions et fonctionnalités de base permettent de réduire notablement le nombre de cas où une mécanisation par programmation apporte un avantage : séparation données/traitements/résultats, utilisation des TCD, de power-pivot etc… Viser la simplicité et la clarté de la solution tableur est un gage d’efficacité.
    En second, la programmation (par un tiers) me parait tout à fait antinomique avec le concept d’origine du tableur : donner le pouvoir de concevoir des solutions informatiques à l’utilisateur, en toute autonomie, sans dépendre du programmeur, et sans apprentissage technique lourd.
    Même si je construis des solutions plus lourdes et plus sophistiquées qu’au temps de mes premiers tableaux Visicalc, je continue de penser qu’une solution tableur doit rester simple à construire, à expliquer, à vérifier, à partager, à mémoriser, à modifier…
    Ce qui exclut la programmation… sauf quelques petites macros enregistrées pour les opérations simples et répétitives (sélection, impression…).
    Merci pour vos messages, ils sont toujours passionnants.
    Jacques-Henry

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut