Bonjour,

je cherche à faire une macro qui gère plusieurs erreurs dans son déroulement. Par exemple, celle-là, qui provoque plusieurs fois une division par zéro :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
For x = 1 To 10
 
    a = 1
    If x = 2 Or x = 4 Or x = 6 Then a = 0
 
    y = 3 / (x * a)
 
Next x
La fonction On Error me gère bien la première erreur (pour a=2) mais pas les suivantes.
J'ai essayé de la réinitialiser dans la routine de gestion d'erreur, en utilisant les Err.Clear ou On Error Goto 0 mais ça ne fonctionne pas.

Si quelqu'un a une idée : merci d'avance !

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
Sub PlusieursErreurs()
'
NbErr = 0
On Error GoTo GestionErreur
'
For x = 1 To 10
 
    a = 1
    If x = 2 Or x = 4 Or x = 6 Then a = 0
 
    y = 3 / (x * a)
 
tata:
Next x
Exit Sub
 
GestionErreur:
NbErr = NbErr + 1
'On Error GoTo 0
'On Error GoTo GestionErreur
'Err.Clear
GoTo tata
 
End Sub