Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/07/2011, 13h01   #1
Invité de passage
 
Supremereboot Supremereboot
Inscription : janvier 2010
Messages : 35
Détails du profil
Informations personnelles :
Nom : Supremereboot Supremereboot

Informations forums :
Inscription : janvier 2010
Messages : 35
Points : 4
Points : 4
Par défaut Attendre la fin d'un .bat et reprendre la macro vb6

Bonjour,

Voila mon probleme :je lance un .bat via une macro et je souhaiterai attendre la fin de mon .bat et reprendre la macro.

J'avais dans l'idée de crée un fichier .txt à la fin de mon .bat et dir à la macro si le fichier existe continue, si le fichier n'existe pas attend.

J'ai essayé de faire ce code et cela ne fonctionne pas. J'ai meme essayé plusieurs codes sur internet et ils ne fonctionnent pas.

Merci de votre aide
Supremereboot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 16h41   #2
Rédacteur/Modérateur
 
Avatar de ProgElecT
 
Homme Francis MILLET
Inscription : décembre 2004
Messages : 2 930
Détails du profil
Informations personnelles :
Nom : Homme Francis MILLET
Âge : 56
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Secteur : Communication - Médias

Informations forums :
Inscription : décembre 2004
Messages : 2 930
Points : 4 147
Points : 4 147
Envoyer un message via MSN à ProgElecT
Salut
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Private Sub CmdLit_Click()
Dim NumFichier
Dim Chaine$
Dim ShL
Dim FenetrE As Boolean
LabInfos = "": NumFichier = FreeFile
'création du fichier .bat
Open "c:\Pingeur.bat" For Output As NumFichier 'ouverture du fichier en ecriture
 Print #NumFichier, "ping " & CStr(TextPing) & " > c:\Zresult.txt" ' Écrit le texte.
Close #NumFichier ' Ferme le fichier.
DoEvents
 
'exemple "ping 192.168.0.2 > c:\Zresult.txt"
LabInfos = "lancement du fichier .bat": FenetrE = False
ShL = Shell("c:\Pingeur.bat", vbMinimizedFocus)
DoEvents
 
' boucle d'attente du démarrage du fichier .bat
Do While FenetrE = False
 On Error Resume Next
 AppActivate ShL
 If Err <> 0 Then
  Err.Clear
  Else 'la fenetre DOS du fichier .bat est en cour
  FenetrE = True ': Exit Do
 End If
 DoEvents
Loop
 
' boucle d'attente de la fin de l'exécution du fichier .bat
LabInfos = "fichier .bat en cour"
Do While FenetrE = True
 On Error Resume Next
 AppActivate ShL
 If Err <> 0 Then 'la fenetre DOS n'existe plus, donc le fichier .bat est finit
  Err.Clear: Exit Do
 End If
 DoEvents
Loop
 
'ouverture du fichier contenant l'infos généré par le fichier .bat
LabInfos = "Analyse": Chaine$ = "": NumFichier = FreeFile
Open "c:\Zresult.txt" For Input As NumFichier
 Do While Not EOF(NumFichier)
  Chaine$ = Chaine$ & Input(1, #NumFichier) 'lit et mémorise le texte.
 Loop
Close #NumFichier ' Ferme le fichier.
 
'analyse du fichier contenu dans la variable Chaine$
If InStr(1, Chaine$, "perte 100%") Then
 LabInfos = "Connection non possible" 'perte 100%
 Else
 LabInfos = "Connection possible"
End If
End Sub
Ce code ecrit un fichier .BAT, le lance, attend le demarage du .BAT, attente de la fin de l'execution du fichier .BAT .
Tu devrais pouvoir adapter
ProgElecT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 11h27   #3
Invité de passage
 
Supremereboot Supremereboot
Inscription : janvier 2010
Messages : 35
Détails du profil
Informations personnelles :
Nom : Supremereboot Supremereboot

Informations forums :
Inscription : janvier 2010
Messages : 35
Points : 4
Points : 4
merci marche nickel
Supremereboot est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h28.


 
 
 
 
Partenaires

Hébergement Web