Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/11/2007, 20h04   #1
Invité régulier
 
Inscription : novembre 2006
Messages : 28
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 28
Points : 8
Points : 8
Par défaut [Résolu]Gestion d'erreur avec la ligne incriminée

Bonjour,
je suis développeur de solution technique sur mon temps libre et dessinateur professionnel sous autocad depuis 2 ans et développeur sur mon temps libre pour gagner du temps au travaille. Je programme essentiellement en VBA pour autocad, mais ça peu importe puisque ma question est d'ordre générale :

Mes programmes commence à être long (pour moi oui c'est long) environ 400 lignes pour la procédure principale avec 4 ou 5 procédures récurrentes auxquelles je fais appelle de temps en temps et parfois 1 ou 2 forms. Pour des raisons lié à la gestion des interceptions utilisateur (question posée à l'utilisateur d'autocad), je dois faire des gestions d'erreur partielles à l'intérieur d'une gestion générale par exemple :


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
on erreur goto gestion_erreur
 
on error resume next
 
select case err.number
case 121
case 3221654
end select
err.clear
 
on erreur goto gestion_erreur
 
on error resume next
select case err.number
case 121
case 3221654
end select
err.clear
 
on erreur goto gestion_erreur
 
on error resume next
select case err.number
case 121
case 3221654
end select
err.clear
on erreur goto gestion_erreur
 
gestion_erreur :
select case err.number
case 321
Debug.Print Err.Number, Err.Description, Err.Source
case 3516432
end select
voilà pour la forme générale... J'en arrive à mon problème : avec une telle structure si j'ai une erreur pas encore gérée comment faire pour savoir sur quelle ligne elle intervient ? Car je peux trouvé le type d'erreur mais pas le lieu... et actuellement je me fait chié à remplacer les "on error goto gestion" par "'on error goto gestion" pour pouvoir savoir ou se trouve l'erreur mais j'aimerais faire ça plus simplement. J'ai lu les aides sur le site mais j'ai pas trouvé de solution. J'ai également tenté l'espion mais dès que j'ai une erreur qui va dans la gestion, l'espion arrête le code au niveau de la gestion mais pas avant...
sechanbask est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/11/2007, 21h05   #2
Rédacteur
 
Homme michel Tanguy
Inscription : août 2005
Messages : 3 317
Détails du profil
Informations personnelles :
Nom : Homme michel Tanguy
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : août 2005
Messages : 3 317
Points : 10 706
Points : 10 706
bonsoir

Tu peux numéroter les lignes de code et utiliser la fonction ERL

http://silkyroad.developpez.com/VBA/GestionErreurs/


bonne soirée
michel
SilkyRoad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2007, 19h16   #3
Invité régulier
 
Inscription : novembre 2006
Messages : 28
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 28
Points : 8
Points : 8
Merci beaucoup, avec ça ça va être plus simple pour vérifier mes erreurs, j'avais lu l'article pour la gestion mais j'avais pas compris compris le but de ce chapitre alors je l'avais survolé... monumentale erreur d'être pressé..
sechanbask est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h29.


 
 
 
 
Partenaires

Hébergement Web