'S'appelle comme cela :
'TaskId = Shell("C:\Program Files\WinZip\WINZIP32.EXE -min -a -ex -r " & Chr(34) & RepTemp & FichierZip & Chr(34) & " " & Chr(34) & RepTemp & FichierSource & Chr(34))
'Call CheckEndOfProcess ' Appelle la vérification de fin de ZIP
'DoEvents
Dim TaskId As Long
Private Const WAIT_INFINITE = -1&
Private Const SYNCHRONIZE = &H100000
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
Private Declare Function RegisterWindowMessage _
Lib "user32" Alias "RegisterWindowMessageA" _
(ByVal lpString As String) As Long
Private Declare Function FindWindow Lib "user32" _
Alias "FindWindowA" (ByVal lpClassName As Any, _
ByVal lpWindowName As Any) As Long
Private Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" (ByVal hwnd As Long, _
ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Any) As Long
Sub CheckEndOfCompress() ' Procédure trouvée sur le net !
Dim hProcess As Long
hProcess = OpenProcess(SYNCHRONIZE, True, TaskId)
Call WaitForSingleObject(hProcess, WAIT_INFINITE)
CloseHandle hProcess
End Sub