mulraf
Messages postés18Date d'inscriptionvendredi 24 février 2006StatutMembreDernière intervention12 mai 2006
-
22 mars 2006 à 10:52
v.massip
Messages postés48Date d'inscriptionmardi 7 octobre 2003StatutMembreDernière intervention 9 décembre 2008
-
8 déc. 2006 à 11:10
Est-il possible de placer l'instruction On error GoTo Etiquette dans une boucle For, apparement je rencontre un problème, lors du premier passage aucun soucis l'instruction me dirige vers ma routine d'erreur, par contre le tour suivant problème ?
For i = 1 To 9 Step 1
.
.
.
On Error GoTo erreur1
ActiveChart.SetSourceData Source:=Sheets(Nom_feuille).Range("A1:B" + CStr(Range(ActiveWorkbook.Names("Mots_capteur"))))
On Error GoTo 0
reprise1:
v.massip
Messages postés48Date d'inscriptionmardi 7 octobre 2003StatutMembreDernière intervention 9 décembre 20082 8 déc. 2006 à 11:10
Le problème vient du fait qu'un "On Error Goto label" ne permet de gérer effectivement qu'une erreur par fonction ou procédure (si la gestion des erreurs n'est pas remise à zéro par un "Resume").
Or, dans ton code de gestion d'erreur (Label "erreur1:"), tu dois certainement utiliser un "Goto reprise1" pour revenir dans ta boucle "For". Donc, pour ta première occurence, pas de problème, mais pour la seconde, la gestion d'erreur te remonte... Une erreur!
Pour éviter cela, il faut que tu utilises un "Resume reprise1" dans ton code de gestion d'erreur.
Le resultat est le même qu'un "On Error Goto erreur1" mais il y a remise à zéro de la gestion des erreurs et donc possibilité de gérer plusieurs erreurs dans une même fonction ou procédure...
Ce qui te donnera :
For i = 1 To 9 Step 1
{...}
On Error GoTo erreur1
ActiveChart.SetSourceData Source:=Sheets(Nom_feuille).Range("A1:B" + CStr(Range(ActiveWorkbook.Names("Mots_capteur"))))
On Error GoTo 0