bichon3001
Messages postés9Date d'inscriptionmardi 5 mai 2009StatutMembreDernière intervention17 juillet 2009
-
17 juil. 2009 à 14:09
bichon3001
Messages postés9Date d'inscriptionmardi 5 mai 2009StatutMembreDernière intervention17 juillet 2009
-
17 juil. 2009 à 15:16
Bonjour, j'ai crée un programme Python sur un problème de tournées de livraisons. Mon programme python ouvre un fichier csv, récupère les données et le ferme :
def lire():
ft=open('Tournee.csv','r')
......etc
ft.close()
...
return A #liste des données de Tournee.csv
villes=lire()
Ensuite algo + interface graphique tkinter
J'ai converti mon fichier en exécutable (avec py2.exe). Si je lance mon exécutable normallement : Ca marche.
Mais si je le lance depuis VBA :
toto = ActiveWorkbook.Path
RetVal = Shell(toto & "\Tournée.exe",1)
Ca ne marche que si je viens de créer la macro .Si je ferme mon classeur et si je le réouvre, Python me génère l'erreur :
IOError: [Errno 2] No such file or directory: 'Tournee.csv'
Alors que mon fichier est bien là !!!
Je suis dans une impasse, besoin d'un peu d'aide.
Merci
bichon3001
Messages postés9Date d'inscriptionmardi 5 mai 2009StatutMembreDernière intervention17 juillet 20091 17 juil. 2009 à 15:16
Bon apparement j'ai trouvé mais je ne sais pas pourquoi ça marche...
Donc, en VBA dans la partie déclaration :
Private Const SW_SHOWNORMAL = 1
Private Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal _
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Dans la macro :
toto = ActiveWorkbook.Path
ShellExecute 0, "open", "Tournée.exe", vbNullString, _
toto & "", SW_SHOWNORMAL