Le VBA est un langage de programmation fabuleux qui permet d’automatiser beaucoup de tâches. Mais il n’est pas le seul, Python aussi ! Il peut arriver qu’il soit nécessaire de faire cohabiter ces deux langages pour établir une chaîne de tâches totalement automatisée.

Par exemple, j’ai développé un module VBA qui collecte et met en forme les fichiers balances générales et les Fichiers des Ecritures Comptables (FEC) de l’ensemble des sociétés du groupe (environ 90 sociétés) en vue de leur traitement par mon programme d’analyse de données (PADoCC_Ecritures).
Toutefois, la collecte de ces fichiers sur les serveurs passe par un script Python (pour la partie serveur sFTP : lire l’article Automatisation & Python : se connecter à un serveur sFTP et télécharger des fichiers) ; tâche que VBA ne sait pas traiter (à ma connaissance) d’où l’interaction nécessaire entre le module VBA et le script Python.
Extrait du code VBA qui lance l’exécution du script Python :
'------------------------------------------------------------------------------------------------------------------------------
'TELECHARGEMENT DES FICHIERS sFTP (balances, fiches tiers et FEC)
'------------------------------------------------------------------------------------------------------------------------------
Sub Exécution_script_Python_sFTP()
Dim objShell As Object
Set objShell = VBA.CreateObject("WScript.Shell")
'Exécution du script Python en utilisant la ligne de commande
objShell.Run "python """ & DossierDestinationPAD & "Connexion sFTP.py""", 1, True
End Sub
La ligne VBA qui lance l’exécution du script Python est précédée de la commande objShell.Run :
objShell.Run "python """ & DossierDestinationPAD & "Connexion sFTP.py""", 1, True
Cette ligne VBA équivaut à la ligne de commande (console Windows) :
python "C:\Users\COLDIR01\Desktop\DOSSIERS BR\OUTILS\PADoCC_Ecritures\COLLECTE FEC & BG\Connexion sFTP.py"
L’exécution du script Python déclenche l’affichage de la fenêtre de la console DOS :

Au passage, on notera qu’une fois automatisées, ces tâches, sans aucune valeur ajoutée mais hautement indispensables, exécutées plusieurs fois par semaine font gagner énormément de temps par rapport à une collecte manuelle…
Tous les articles en rapport avec le langage Python / le langage VBA
___
Pour approfondir le sujet : se former à la programmation en langage Python pour automatiser ses tâches / formation gratuite à l’analyse de données et à l’automatisation
Derniers articles parBenoît RIVIERE (voir tous)
- Analyse des données comptables (FEC) : analyse de la conformité comptable des transactions et de leur dénouement - dimanche 23 novembre 2025
- L’AMF et l’AFA appellent à la vigilance sur le risque de corruption par des réseaux criminels de personnes ayant accès à des informations privilégiées - lundi 4 août 2025
- Détecter les inversions HT/TVA avec ANA-FEC2 - jeudi 31 juillet 2025
- Analyse de FEC en ligne avec ANA-FEC2 (manuel d’utilisation) - mardi 29 juillet 2025
- Rapport AFA 2024 : les contrôles comptables à ne pas négliger - samedi 5 juillet 2025


