lier un CommandButton à un programme xxxxx.bat

  • Initiateur de la discussion Initiateur de la discussion Pupitror
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

Pupitror

Guest
Bonjour tout le monde,
je cherche mais je n'ai rien trouvé, alors voici mon probleme:

Comment lier un programme xyz.BAT (externe à Excel) à un bouton de controle (CommandButton) ?

Merci d'avance,
a+ et bon Week End!
Pupitror.
 
Bonjour le Forum, Pupitror,

Le problème n'est pas tant de lancer le BAT que de surveiller la fin. En effet si tu lance le BAT avec une ligne de commande, la macro lance le ficheir et continue ...

Le problème est que si ton bat fait quelque chose nécéssaire à ta macro pour poursuivre (copie de fichiers par exemple), ta macro plante car le BAT n'a pas fini de travailler et la macro continue.

Mais heureusement je suis là ... 😛

Alors :

1 - A mettre dans un module

Private Declare Function OpenProcess Lib 'kernel32' _
  (ByVal dwDesiredAccess
As Long, _
   
ByVal bInheritHandle As Long, _
   
ByVal dwProcessId As Long) As Long
   
Private Declare Function WaitForSingleObject Lib 'kernel32' _
  (ByVal hHandle
As Long, _
   
ByVal dwMilliseconds As Long) As Long
   
Private Declare Function CloseHandle Lib 'kernel32' _
  (ByVal hObject
As Long) As Long
Public FichierSave As Variant, taskId As Long

Sub CheckEndOfCompress()
Dim hProcess As Long
    hProcess = OpenProcess(SYNCHRONIZE, True, taskId)
   
Call WaitForSingleObject(hProcess, WAIT_INFINITE)
    CloseHandle hProcess
End Sub


2 - A mettre dans ton bouton :

dim Taskid as long
taskId = Shell('c:\\start.bat',vbnormalfocus)
Call CheckEndOfCompress

et voila

++

Creepy
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 agrandir la liste
Réponses
21
Affichages
642
Réponses
5
Affichages
537
  • Question Question
Microsoft 365 Contrôle sur date
Réponses
8
Affichages
409
Réponses
4
Affichages
280
Retour