lancer un .exe /dos depuis XL

  • Initiateur de la discussion Francis
  • Date de début
F

Francis

Guest
Bonjour,
Je cherche l'instruction VBA magique qui me permettrait depuis excel d'executer un programme de calcul externe "bidule.exe". Celui-ci est un executable programmé en C++ qui fonctionne à partir de fichiers d'entrées format texte et restitue les résultats en texte aussi. Je manipule ces fichiers sous excel mais ne parvient pas a lancer le logiciel lui-même (il me faut sortir d'excel et aller double cliquer dans le gestionnaire de fichier ou utiliser Démarrer/executer). Pourriez voous SVP m'aider à faire celà sans sortir d'excel ?
Merci d'avance,
Francis.
 
S

sousou

Guest
Bonjour.
Tu peux utiliser la fonction
Shell(pathname[,windowstyle])

La syntaxe de la fonction Shell comprend les arguments nommés suivants :

Élément Description
pathname De type Variant (String). Nom du programme à exécuter, ainsi que tous les arguments ou paramètres de ligne de commande ; peut également préciser le répertoire ou dossier et le lecteur.

windowstyle Facultatif. De type Variant (Integer) correspondant au style de la fenêtre dans laquelle le programme est exécuté. En cas d'omission de windowstyle, le programme est activé mais la fenêtre est réduite.
 
F

Francis

Guest
Merci Sousou,
Excuse le retard à l'allumage, mais j'ai tout essayé. Ta solution fonctionne bien avec un executable windows mais mon executable dos refuse de fonctionner ainsi... alors qu'il fonctionne bien en double cliqquant dessus dans le gestionnaire de fichier ou a partir de la fenetre de commande dos.
...comprends pas!
merci quand même,
a+,
F.
 
M

michel

Guest
bonjour Francis , bonjour Sousou

sans aucune garantie , tu peux essayer :

Sub OuvertureAppli1()
Dim Scr As Object
Set Scr = CreateObject("WScript.Shell")
Scr.Run "calc.exe ", 1, True'exemple calculatrice
End Sub


Declare Function WinExec Lib "kernel32" (ByVal lpCmdLine As String, ByVal nCmdShow As Long) As Long
Sub OuvertureAppli2()
WinExec "calc", 10 'exemple calculatrice( à tester avec et sans le ".exe" )
End Sub


bonne soiree
MichelXld
 
F

Francis

Guest
Bonjour,
Merci à tous pour votre aide, j'ai enfin trouvé une solution en recoupant plusieurs idées que vous m'avez données :
avec shell je lance un fichier batch qui lui même lance mon executable dans une deuxième instance dos avec la commande dos "start"... allez donc comprendre pourquoi ce p... de programme ne veut pas tourner dans la première fenêtre !
Grand merci encore,
et a +,
Francis.
 

Statistiques des forums

Discussions
312 677
Messages
2 090 825
Membres
104 677
dernier inscrit
soufiane12