Function retryMethod(Obj As Object, MethodName, NbArgs, Optional Arg1, Optional Arg2, Optional Arg3)
Dim retryCount As Integer
retryCount = 0
retry:
On Error GoTo ErrorHandler
Select Case NbArgs
Case 0
retryMethod = CallByName(Obj, MethodName, VbMethod)
Case 1
retryMethod = CallByName(Obj, MethodName, VbMethod, Arg1)
Case 2
retryMethod = CallByName(Obj, MethodName, VbMethod, Arg1, Arg2)
Case 3
retryMethod = CallByName(Obj, MethodName, VbMethod, Arg1, Arg2, Arg3)
End Select
GoTo Fin
ErrorHandler:
retryCount = retryCount + 1
If retryCount <= 10 Then
'Sleep 20
Debug.Print "Retry " & MethodName & " : "; retryCount & " - Erreur: " & Err.Number
Resume retry
Else
MsgBox "Erreur Méthode " & MethodName & " essayée 10 fois."
Exit Function
End If
Fin:
End Function