
Bonjour à tous,
Je vous propose aujourd’hui un court article sur ma transition de VBA vers Python et pourquoi j’utilise aujourd’hui les deux langages.
Quand j’ai appris à programmer j’ai commencé avec VBA en interactions avec Excel. Dans mon cursus d’ingénieur, Excel est un outil qu’on utilise énormément. Il était donc logique de développer des compétences sur cet outil. On peut vraiment faire énormément de choses avec Excel. Cela peut aller d’une liste pense-bête à un tableau avec des calculs très complexes. Au début de ma carrière, l’utilisation des outils Excel était présente partout. Nous avions pas mal de tâches répétitives, il était alors opportun de développer des outils automatiques.
Tout le monde connait Excel. Développer un outil via Excel sera donc beaucoup plus facilement accepté qu’un outil utilisant un autre langage moins connu. Les utilisateurs étant à l’aise avec l’interface d’Excel, il suffisait donc de créer un outil qui fonctionne en arrière plan. Le VBA est donc l’outil parfait pour ça. De plus, les possibilités qu’offre le VBA via des boutons dans une feuille Excel ou une interface utilisateur via les « Userform » sont presque infinies. Avec un peu de pratique vous pouvez développer un petit logiciel par vous-même grâce à cet outil.
Cependant, il m’est arrivé de travailler dans des environnements Linux où Excel n’existait pas encore. De plus, Excel fait partie de la suite Office. Il faut donc acheter une licence pour l’utiliser. Vous allez me dire qu’il existe LibreOffice mais malheureusement les fichiers ne sont pas transposables. Enfin, suivant la taille de votre programme, le nombre de fonctions appelées, la mémoire utilisée, vous pouvez vite atteindre les limites du VBA sous Excel.
A l’époque, un collègue a commencé à me parler de Python. C’était complètement étranger pour moi. Il m’a encouragé à essayer et voir par moi-même. Je me suis donc renseigné sur les bases comme les différentes boucles, la déclaration des variables, etc … et j’ai créé mes premiers scripts. Alors je n’ai pas la prétention de réaliser des programmes dignes d’un programmeur chevronné. Cependant, à ma petite échelle, le script que j’ai créé me convenait parfaitement. En quelques secondes le boulot était fait. Et je le rappelle, plus en fait, plus on est à l’aise, plus on découvre de choses et plus on est performant.
Au final, coder en python est relativement intuitif. Vous pouvez créer vos premiers programmes très rapidement. La syntaxe est facile à prendre en main. Les librairies à disposition sont vraiment un atout pour aller plus vite. Par exemple, si vous devez créer une interface graphique vous avez la bibliothèque Tkinter, si vous voulez faire du calcul matriciel, la bibliothèque Numpy est parfaite. Que ce soit pour le développement web, le calcul scientifique, le traitement de grosse quantité de données, il existe une librairie qui vous permettra de faire ce que vous souhaitez. Et comme Python est open-source, il y a des développements en continu ce qui fait que ce qui n’existe pas encore et certainement déjà en train d’être développé.
On pourra critiquer la puissance de python vis à vis des autres codes de programmation. Cependant, Python étant extensible, certainement librairies sont elles codées dans des langages performants. Cela permet donc de combiner la facilité de programmer en python aux performances des autres langages. Enfin, des études sont réalisées pour déterminer quelles sont les programmes les plus utilisés dans le monde. Python est aujourd’hui en tête des différents classements. Voici l’index TIOBE qui vous pouvez retrouver ici.

Le Visual Basic est encore présent dans le top 10. Il est plus restreint mais toujours utilisé. Personnellement, je développe encore des outils en VBA car mes collègues et moi-même travaillons beaucoup sur Excel et si je développe un outil il faut qu’il soit accessible pour les autres également.
En parallèle, j’utilise Python car il me permet d’avoir accès un grand nombre de bibliothèques me permettant d’analyser plus en profondeur certains résultats issus de tests par exemple. Je peux également analyser plus facilement des courbes et créer des graphiques comme je le souhaite. Vous verrez que plus vous vous renseignerez sur les possibilités de Python et plus vous prendrez conscience de la portée que cet outil peut vous donner.
Il est clair qu’aujourd’hui, Python prend une place non négligeable. Les outils informatiques sont en constant développement. L’avènement de l’intelligence artificielle accélère encore ce phénomène. Développer vos compétences dans ce genre d’outil vous permettra d’élargir vos expertises, d’être plus efficaces grâce à vos outils et de pouvoir passer plus de temps sur les tâches qui ont une vrai valeur ajoutée.
N’ayez pas peur de vous lancer. Le pire qui puisse vous arrivez, c’est d’avoir appris quelque chose. N’oubliez pas que c’est avec de la pratique que vous serez de plus en plus à l’aise avec l’outil. Je suis convaincu que vous arriverez à développer vos compétences et résoudre vos problèmes en développant vos outils automatiques. Les possibilités qui vont sont offertes sont infinies. Il vous faudra juste un peu plus de temps si le projet est conséquent. De plus, aujourd’hui, avec les nouveaux outils IA, vous pouvez gagner du temps sur la création de la structure de votre outil. J’en parle dans cet article sur l’utilisation de ChatGPT.
Merci de m’avoir lu, n’hésitez pas à laisser un commentaire,
A bientôt,
Benjamin