[Déplacé VB6 --> VBA] VB6 Gestion d'erreur Créer un Boucle ? [Résolu]

Signaler
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
Bonjour

Je code un programme où une erreur pourra se produire. S'il y a un erreur je veux qu'une valeur s'incrémente de 1. S'il y a encore une erreur, ma variable s'incrément encore de 1 et ainsi de suite.


C'est facon de faire est obligatoire jusqu'à temps qu'il ne rencontre plus d'erreur.

Je ne sais pas comment coder la gestion d'erreur. C'est possible en VB6 ?

C'est la variable SS_Count qui me pose problème. Si dans mon fichier Autocad la valeur SS_Count existe alors j'ai un erreur. Donc je dois incrémenter la valeur de 1. Je ne sais pas comment faire une boucle avec la gestion d'erreur.

merci d'avance

   SS_Count = SS_Count + 1

   'On Error GoTo SS_Count + 1
   Set ssetObj = ActiveDocument.SelectionSets.Add("SS_Count")
   
   Call ssetObj.SelectOnScreen
   ' on compte le nombre de sélections
   Cpt1 = ssetObj.Count
   ' on transforme le jeu de sélection en tableau
   ReDim TblSel(0 To Cpt1 - 1) As Object
...

3 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
Salut
Le VB de Autocad est du VBA, pas du VB6.

Pour ne pas être dérouté lors d'une erreur :
On Error Resume Next
Pour reprendre une gestion d'erreur normale :
On Error Goto 0
Pour orienter l'erreur vers une étiquette :
On Error Goto monEtiquette

monEtiquette:
MsgBox "Il y a eu une erreur (" & CStr(Err.Number) & " - " & Err.Description & ")"

Attention à ne pas passer par "monEtiquette" s'il n'y a pas eu d'erreur --> Penser à mettre un Exit Sub ou Exit Function devant, les gestions d'erreur se mettant, traditionnellement, en bas de procédure

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
3
merci de l'explication...

mais je ne dois pas créer un msgbox... je voulais réparer l'erreur immédiatement sans que l'utilisateur s'en rendre compte.


mais je vais essayer de m'arranger un truc avec le code que tu viens de m'expliquer.

merci encore
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
Oui, ceci n'était qu'un exemple expliquant comment dérouter une erreur.
Après, ce que tu fais lors du traitement, c'est à toi de l'imaginer.
Si tu dois faire une action différente en fonction d'un compteur, pense à l'instruction Select Case

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)