• Initiateur de la discussion Initiateur de la discussion Darkblaste
  • 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 !

D

Darkblaste

Guest
Rebonjour le forum,

Je vous pose une autre question sur le shell (qui n'a pas vraiment de rapport avec mon autre question de récupe de résultat) pour savoir un petit truck.

Voila ma macro execute plusieur commande shell et je souhaiterai savoir si il est possible que ma macro s'arrete pendant l'execution des commande et reprenne dés que la commande shell se ferme... :huh:

Merci
 
Hello le Forum, Darkblaste,

Oui oui c'est tout à fait possible. Il suffit de faire appel à une api et voila le tour est joué.

1 - Dans un module au début colle ca :
Code:
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

2 - Juste en dessous copie cette function :
Code:
Sub CheckEndOfCompress()
Dim hProcess As Long
   hProcess = OpenProcess(SYNCHRONIZE, True, taskId)
   Call WaitForSingleObject(hProcess, WAIT_INFINITE)
   CloseHandle hProcess
End Sub

3 - Et enfin pour l'appeller fait comme ceci :

Code:
taskId = Shell(Chr(34) & Chemin & Compresseur & Chr(34) & ' ' & LigneCommande & ' ' & Chr(34) & CheminSave & FichierZip & Chr(34) _
    & ' ' & Chr(34) & CheminSave & FichierSave & Chr(34))
Call CheckEndOfCompress

Ici je passe en Taskid un shell qui execute une compression avec Winzip et ensuite j'appelle la sub qui vérifie le fin de la compression puis rend la main pour finir mon code

Voila

@+

Creepy
 
Bonjour le forum, bonjour Creepy

Voila j'ai testé, mais mon soucis est que la macro créée un .bat (qui est composé de plusieurs ligne de ping redirigeant les résultats dans un fichier txt), l'éxecute mais la macro continue sans attendre la fin de tous les ping ce qui pose probleme.
 
- 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

A
Réponses
16
Affichages
3 K
A
J
  • Question Question
Réponses
1
Affichages
649
Compte Supprimé 979
C
Y
  • Question Question
Réponses
4
Affichages
1 K
YesWeExcel
Y
A
Réponses
4
Affichages
1 K
S
Réponses
6
Affichages
3 K
sebm1976
S
O
Réponses
2
Affichages
1 K
oukoume1201
O
Retour