Gestion erreur dans une boucle

cs_Patrik Messages postés 95 Date d'inscription jeudi 24 janvier 2002 Statut Membre Dernière intervention 10 octobre 2005 - 7 oct. 2004 à 15:23
cs_starfighter Messages postés 90 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 28 février 2005 - 7 oct. 2004 à 15:50
Bonjour,

Au cours d'une boucle si j'obtiens une erreur je souhaite afficher dans un fichier texte le numéro de ligne de la boucle.
Ca marche s'il n'y a qu'une erreur, mais à partir de 2 ca plante.

i = 2
Do While TxtAA <> ""

150

On Error GoTo 250

......

250

Open App.Path & "\Err.Sgk" For Append As #1
Print #1, "Ligne numéro : " & i & Chr(19) & "Code Clients : " & ClasseurXLS.Cells(i, 2)
Close #1
i = i + 1
Err.Clear
GoTo 150
End If

Merci d'avance à tous ceux qui pourront m'apporter leur aide.

@+

Patrik

2 réponses

cs_starfighter Messages postés 90 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 28 février 2005
7 oct. 2004 à 15:47
Salut, utilise la commande resume Next

On Error GoTo Hell

i = 2
Do While TxtAA <> ""

......

Loop

Exit Sub

Hell:
Open App.Path & "\Err.Sgk" For Append As #1
Print #1, "Ligne numéro : " & i & Chr(19) & "Code Clients : " & ClasseurXLS.Cells(i, 2)
Close #1
i = i + 1
Err.Clear
Resume Next
0
cs_starfighter Messages postés 90 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 28 février 2005
7 oct. 2004 à 15:50
Tu peux ajouter les numeros de ligne a chaque commande et recupere le numero par la variable interne "Erl"
private sub Mafonction()
On Error GoTo Hell

10     i = 2
20     Do While TxtAA <> ""
30             ......
40             ......
50     Loop
60     Exit Sub

Hell:
Open App.Path & "\Err.Sgk" For Append As #1
Print #1, "Ligne numéro : " & Erl & Chr(19) & "Code Clients : " & ClasseurXLS.Cells(i, 2)
Close #1
i = i + 1
Err.Clear
Resume Next
0
Rejoignez-nous