Yunchi
Messages postés100Date d'inscriptionlundi 30 octobre 2006StatutMembreDernière intervention14 avril 2009
-
24 févr. 2009 à 11:41
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
24 févr. 2009 à 14:13
Bonjour,
J'ai une fonction VB sous excel :
RetVal = Shell("file_analyzer.exe, 1)
Donc ça lance un programme dans le même dossier que mon xls.
Ce programme doit en fait ouvrir un fichier txt et l'analyser. Quand j'exécute le programme file_analyzer.exe, il fait bien son boulot, ouvre un txt et extrait des données.
Mais quand je lance cet .exe avec la fonction assignée à un bouton sous excel, ça lance le programme mais le programme ne fait pas son boulot. Ca affiche directement la fenetre "finale" avec appuyer sur une touche pour continuer sans avoir fait tout l'analyse du fichier ....
Si quelqu'un a déjà rencontrer ce problème ou connait la solution ....
cs_Jack
Messages postés14007Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 24 févr. 2009 à 12:21
Salut
C'est parce que tu ne fournis pas le chemin de l'EXE et ... il ne le trouve pas
RetVal = Shell("C:\Le chemin complet\file_analyzer.exe", vbNormalFocus)
PS : Il manque un " final à ta syntaxe
PS : Préfère les constantes vb comme vbNormalFocus, c'est plus parlant que 1
Tu parles aussi d'analyser un fichier.
Où se trouve ce fichier ?
Ton EXE va t-il le trouver ?
Tu peux essayer de lui transmettre le chemin et nom du fichier à traiter dans la même commande :
RetVal = Shell("C:\Le chemin complet\file_analyzer.exe C:\Le chemin du fichier\Le fichier.txt", vbNormalFocus)
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Yunchi
Messages postés100Date d'inscriptionlundi 30 octobre 2006StatutMembreDernière intervention14 avril 2009 24 févr. 2009 à 13:03
Le problème ne vient pas du chemin, le programme se lançant mais n'éxécutant pas toutes les tâches.
J'ai mon dossier "simulateur" par exemple, dedans il y'a mon xls, mon exe et un txt à analyser
Je double click sur l'exe, une console se lance et fait son boulot (j'ai des printf) qui me montre qu'il analyse le fichier txt
Je lance le xls et je click sur le bouton qui lance l'exe -> une console se lance et on arrive directement à la fin du exe en fait avec les deux printf qui sont en fin de code et le system("PAUSE")