Bonjour,

Je cherche à lancer un script avec WshShell.Run à condition que 3 autres scripts lancés en parallèle se terminent correctement.

Comment faire ?

Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Option Explicit
Dim Site
Dim Base
Dim QueryAddress
Dim TargetAddress
Dim WshShell
Dim prot
Dim testO
Dim testS
Dim macro
Dim macroName
Dim classeurName
Dim Return1
Dim Return2
Dim Return3
Dim form
 
'Launch queries
prot = "/" & Site & "/"  &  Base & "/" & "protocols.vbs" & " " & Chr(34) & TargetAddress & Chr(34) 
testO = "/" & Site & "/" &  Base & "/" & "TO.vbs " & " " & Chr(34) & TargetAddress & Chr(34)
testS = "/" & Site & "/" &  Base & "/" & "TS.vbs " & " " & Chr(34) & TargetAddress & Chr(34)
form = "script_Form.vbs" & " " & Chr(34) & QueryAddress & Chr(34) & " " & Chr(34) & TargetAddress & Chr(34) & " " & Chr(32) & Base & Chr(32)
 
Return1 = 1
Return2 = 1
Return3 = 1
 
Set WshShell = CreateObject("WScript.Shell")
 
'les 3 script sont lancés en parallèle
Return1 = WshShell.Run( prot , 1, false)
Return2 = WshShell.Run(testO , 1, false)
Return3 = WshShell.Run(testS , 1, false)
 
if (Return1=0 And Return2=0 And Return3=0)
    Return = WshShell.Run(form ,1, true)
end if
Merci beaucoup pour votre aide.

Laurent.