Le titre de cet article est racoleur et peu original. Une simple recherche sur Google vous permettra de trouver des titres similaires datant de 2007, voire avant. De l’époque où une feuille Excel avait 45 000 lignes, au Crétacé inférieur.
La teneur générale de ces articles se résume facilement : « VBA est un langage basique (c’est dans le nom !), adapté aux cerveaux obscurantistes, avec lequel on sera bien obligé de vivre jusqu’à ce qu’il meure de sa belle mort, délaissé qu’il sera par des développeurs plus éduqués et ouverts au futur ». C’est un raisonnement similaire qui nous induit à penser que le Moyen-âge religieux était une période de rustres attardés mentaux, devenus éclairés grâce à l’humanisme de la Renaissance. Sophisme et mensonge – mais nous digressons.
Il est certain que VBA, utilisé à 90% pour automatiser Excel, survivra tant que les gens utiliseront ce logiciel, à moins que Microsoft ne le supprime d’un coup de baguette magique. Et c’est là que la popularité de l’outil lui sert d’assurance vie, tant il est vrai que nombre d’entreprises, souvent à l’insu de leur plein gré, comme dirait l’autre, ne fonctionnent que grâce à des macros VBA. Merveilles du shadow IT.
Cependant il paraît trop court de s’arrêter à ces arguments négatifs, même s’ils ne sont pas à négliger. A notre sens, le débat mérite mieux que cela, et je voudrais apporter deux arguments positifs au débat.
Eloge de la simplicité
Je ne comprends pas le mépris qu’affichent certains de mes pairs pour VBA. Oui, ce langage est simple, mais c’est justement là sa beauté. Tout le monde ne peut pas être un professionnel, et toutes les entreprises ne peuvent pas se permettre d’embaucher une ou plusieurs personnes dédiées à des développements parfois triviaux.
Dans ce contexte, VBA, avec son enregistreur de code et l’immense communauté internet dont il dispose, permet de faciliter grandement la vie toute personne ayant un peu envie de mettre les mains dans le cambouis, sans pour autant nécessiter une reconversion professionnelle. Ajoutons que le fait d’être directement intégré à Excel et de disposer de fonctions de débug très simples sont également cruciaux.
Le fait qu’une procédure n’est pas parfaitement codée selon les standards n’est pas pertinent. Un code est bon lorsqu’il fait ce que son auteur veut qu’il fasse. C’est tout. Il peut être amélioré, certainement, mais n’en est pas mauvais pour autant.
Et puis, s’il est simple, VBA n’en permet pas moins de créer des procédures très évoluées, pour peu que l’on s’aventure dans le monde merveilleux, quoi que plus privé, des classes, types, sous-procédures privées et autres formulaires un peu évolués. Essayez, vous verrez. Comme pour toute chose, il faut commencer simple, presque juste pour le principe, et complexifier au fur et à mesure.
VBA, c’est le Kapla du code : une brique basique avec laquelle on peut construire de fort belles et complexes choses.
La forme et la matière
Certains se disent peut-être : « je démarre le code, pourquoi m’intéresser à VBA ? n’est-ce pas un risque ? ». Pour répondre à cela, je pense qu’il faut prendre un peu de recul, et considérer non pas l’outil VBA en tant que tel, mais l’état d’esprit qu’il génère : cette gymnastique essentielle à tout développeur, qui consiste à savoir être paresseux intelligemment en créant fonctions et procédures pour factoriser son code ; à manipuler la donnée grâce aux tableaux multidimensionnels, dictionnaires et autres collections ; à penser ‘objet’, grâce aux classes. Tout cela restera. Un langage (VBA, Python, Java, …) n’est jamais qu’une trousse à outil plus ou moins évoluée. Si vous ne savez pas quel outil utiliser, et quand, elle ne sert à rien.
Un bon architecte est aussi essentiel qu’un bon ouvrier, et je VBA peut être un excellent vecteur de ces compétences, bien plus précieuses que le langage dans lequel elles sont traduites.
Open bar ?
La conclusion de cette (trop) longue plaidoirie serait-elle donc un blanc-seing pour tous les développements qui pourraient nous traverser l’esprit ? Non.
De même que nous avons dit que l’esprit de développement compte autant que le langage utilisé. La méthode et le contexte de développement sont absolument essentiels. On n’imagine pas un architecte sans mission et sans plan, et tout développement doit donc être connu et répertorié par un service compétent, et, surtout, commencer par des spécifications précises, indiquant le but et les principales étapes du développement.
VBA n’importe pas. C’est votre application, et la valeur qu’elle vous apporte, qui est essentielle. Son assurance-vie ne doit pas être la difficulté à tuer le langage, mais une documentation précise qui vous permettra de la faire perdurer grâce à un autre.
N'hésitez pas à consulter nos formations VBA si vous avez des questions.
Comments