Bonjour à tous,

Je vous expose mon problème, j'aimerais lancer un script python à partir de VBA étant donné que je travaille beaucoup sur Excel, j'ai un code qui utilise une dataframe grâce au module panda de python, dans mon script original que je lance sur Spyder, aucun problème le fichier est crée (Les éléments ci-dessous n'étant pas exécutes) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
import os
 
mainrep = os.path.dirname(__file__)
 
liste = os.listdir(mainrep)
 
DF_Fin.to_excel(r"{}\test.xlsx".format(mainrep))
 
print("fin.")
Cependant quand j’exécute le script py grâce à la macro ci-dessous je rencontre un problème, tout semble s’exécuter correctement, pas de message d'erreur,

Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub RunPythonScript()
 
Dim objShell As Object
Dim PythonExe, PythonScript, PythonScript2 As String 'Chemin & fichier
 
'Creation d'un objet Shell
 
Set objShell = VBA.CreateObject("Wscript.Shell")
 
PythonExe = "C:\Users\S644360\AppData\Local\Continuum\Anaconda\python.exe"
 
PythonScript = """Z:\dir_invest\Gap_mod\IngProd\Finance & retrocessions\Finance & retrocessions\Facturation\Outil de facturation\PROJET PYTHON\Main tutorial\Tuto - pyPDF\pyPDF-TutoV4.py"""
 
objShell.Run PythonExe & " " & PythonScript
 
End Sub

Ce qui me surprend c'est que le print de "Fin." fonctionne ce qui sous entendrait que tout devrait avoir fonctionné ? Mais la commande to_excel ne fonctionne pas et aucune création de fichier..

Navré si la question semble peu pertinente ou floue je suis débutant !

Très bon weekend ! J'essaierai d'éclaircir au mieux en fonction des retours

Merci d'avance !