Faut-il utiliser les macro-commandes VBA sur Excel ?
Pour ce nouveau chapitre de la formation dédiée à la découverte du langage de programmation VBA, nous allons répondre à une question que beaucoup de personnes se posent : faut-il utiliser les macro-commandes VBA, ou au contraire se limiter aux seules fonctionnalités natives d’Excel ?
Téléchargement
Vous pouvez obtenir le fichier d'exemple de cet article et découvrir la méthode d'apprentissage de VBA pas-à-pas en cliquant sur le lien suivant :
Tutoriel Vidéo
1. Non : De nombreuses actions sont réalisables sans VBA
Parfois, nous pouvons imaginer que certaines opérations assez complexes ne peuvent pas être réalisées sans passer par le développement de macro-commandes en VBA.
Mais c’est sans compter sur la puissance des applications d’Office, et en particulier d’Excel.
Il est en effet possible de construire des outils très puissants en utilisant les outils dédiés du tableur, notamment les tableaux croisés dynamiques, qui permettent de compiler, synthétiser, analyser, … de très grandes bases de données ou encore Power Query qui permet d’importer toutes sortes de données directement dans un classeur Excel.
Les fonctions mises à dispositions permettent également de nombreuses choses, mais encore faut-il connaître toutes les fonctions, ce qui n’est pas courant tant celles-ci sont nombreuses.
Enfin, le fait d'utiliser directement les fonctionnalités natives proposées par le tableur permet de simplifier la compréhension de l’outil.
Une formule Excel est en effet plus simple à interpréter qu’un module développé dans.
Tout du moins jusqu’à un certain niveau de complexité dans la mise en place des formules.
Il n’est en effet pas certain qu’une imbrication de nombreuses fonctions les unes dans les autres soit plus simple à interpréter qu’un code VBA correctement organisé, et commenté…
Pour conclure sur ce premier point, s’il est possible d’obtenir le même résultat sans macros.
2. Non : Problème de maintenance et modification
Qu’on se le dise, les macro-commandes sont la grande majorité du temps utilisées par des utilisateurs d’applications de bureautique qui ne disposent que très rarement de compétences suffisantes pour pouvoir maintenir le code.
Et dans ce cas-là, que faire en présence d’un bug ?
Est-ce que la personne à l’origine du fichier est encore présente dans l’entreprise ? Se souvient-elle seulement du fonctionnement du fichier ? Comment le faire évoluer et lui ajouter de nouvelles fonctionnalités ?
Vu les points négatifs que nous venons de voir ici, vous devez certainement vous demander pourquoi suivre une formation dédiée à l'apprentissage du langage VBA ?
La raison est très simple : pour peu que l’on se donne la peine de consacrer un peu de temps pour maîtriser le langage VBA, il sera alors possible de démultiplier les fonctionnalités offertes par Excel (mais également pour les autres applications de la suite Office, et même plus encore !)
3. Oui : Automatiser les tâches répétitives
Avec les macro-commandes, nous allons pouvoir automatiser les tâches répétitives, par exemple :
- Importations d’écritures comptables,
- Automatiser des copier-coller,
- Mettre en forme des données automatiquement
En automatisant ces tâches, nous gagnerons évidemment un temps précieux, comme nous le verrons juste après, mais cela permet également de réduire drastiquement le risque d’erreur.
En effet, lorsqu’une macro-commande est fonctionnelle et testée, il n’y a pas de raison que le logiciel fasse des erreurs, contrairement aux manipulations manuelles.
4. Oui : Un gain de temps inestimable
Comme nous venons de le voir, les macro-commandes permettent d’automatiser des tâches répétitives, mais en plus de cela la machine (même la plus ancienne) est évidemment capable d’enchaîner ces tâches à une vitesse infiniment plus rapide que n’importe quel humain !
Imaginez arriver le matin au bureau et cliquer sur un simple bouton pour constater que les tâches récurrentes peuvent être exécutées en quelques secondes seulement, là où en principe cela devrait prendre plusieurs dizaines de minutes !
Ramené sur une année complète, le gain se chiffre en jours, ou même en semaines de travail que nous pourrons consacrer à des tâches plus importantes…
En plus de cela, utiliser des macro-commandes en VBA permet de réduire le nombre de formules utilisées dans le fichier.
Si le nombre de formules n’est pas très important, cela risque de ne pas changer grand-chose, en revanche dès lors que l’on manipule des bases contenant un grand nombre de données, cela peut permettre d’alléger fortement le fonctionnement du fichier et donc de permettre de réduire les temps de calcul nécessaires lors des modifications, et cela sans devoir désactiver les calculs automatiques.
5. Oui : Réaliser des actions impossibles avec de simples formules
Bien entendu, le gros avantage de travailler avec des macro-commandes, c’est que nous allons pouvoir réaliser des tâches impossibles à faire directement avec de simples formules :
- Manipulation des feuilles de calculs et des classeurs,
- Manipulation des fichiers externes,
- Communication avec des applications tierces (notamment Word ou PowerPoint),
- Importation et conversion des données,
- …
6. Oui : VBA est un langage simple
Cela peut paraître difficile à croire lorsque l’on tente de réaliser nos premières macro-commandes en VBA, mais ce langage de programmation est relativement simple à appréhender et à utiliser.
En effet, même si le VBA reste un langage complexe, il suffit de maîtriser les boucles If… Then, les boucles For… Next ou Do While, le fonctionnement des variables (qui n’ont pas même pas obligation à être déclarées) et quelques méthodes basiques pour réaliser des tâches plus ou moins complexes !
Alors bien sûr ces premières notions ne permettront de réaliser qu’une infime partie des tâches offertes par le langage, mais c’est en cherchant à répondre aux différents besoins qui pourront se présenter que nous pourrons réaliser des actions de plus en plus complexes.
7. Oui : Utilisation même sans connaissance en programmation
Pour être certain que la maîtrise du langage de programmation VBA ne soit pas une barrière à l’utilisation et la création des macro-commandes, les ingénieurs de chez Microsoft ont eu l’excellente idée d’intégrer un outil extraordinaire pour créer des macro-commandes rapidement sans avoir à coder la moindre ligne de code : il s’agit de l’enregistreur de macro !
Grâce à cet outil, il suffit de réaliser une tâche une première fois pour qu’Excel enregistre toutes les actions en les convertissant en ligne de code VBA.
Ensuite, il suffira d’appeler la macro-commande créée par Excel pour répéter l’ensemble des actions enregistrées autant de fois que nécessaire.
En plus de cela, l’enregistreur de macro est un super outil d’aide à la découverte du langage de programmation.
En effet, le fait de découvrir comment Excel procède pour convertir en lignes de code une série d’actions que nous venons tout juste de réaliser
Même plus besoin d’effectuer des recherches chronophages sur internet !
8. Oui : VBA est gratuit !
Et oui, nous l’avons déjà vu à de nombreuses reprises, toutes les applications de la suite Office contiennent par défaut l’outil de développement Visual Basic Editor qui permet de créer des macro-commandes et des fonctions en VBA !
Alors pourquoi s’en priver ?