Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et 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.

Réponse
 
Outils de la discussion
Vieux 02/10/2008, 20h37   #1 (permalink)
Membre à l'essai
 
Date d'inscription: avril 2008
Localisation: sur sa chaise
Âge: 35
Messages: 43
Par défaut question sur gestion des erreurs

Bonjour à tous,

Voila j'ai une question qui n se réfère pas à un problème en particulier mais plutot à une incompréhension de ma part. Voilà:

Lorsque je créé mon projet je dois créer un gestionnaire d'erreurs pour chaque sub. Je me retrouve donc avec 3 ou 4 gestionnaires d'erreurs différent qui traitent les mêmes erreurs avec les mêmes réponses. Pourquoi dans ce cas ne peut on créer un gestionnaire d'erreurs général? Ce que je veut dire par là c'est que lorsque je fait ma déclaration "on error goto etiqette" VBA me retourne une erreur (justement) si mon etiquette n'est pas dans la sub. Est ce que quelqu'un peut m'expliquer pourquoi cela fonctionne ainsi car je ne comprend pas l'utilité de gestionnaires redondants

Bien sur si je suis en train de dire une énormité merci de me le signaler

amicalement
deuxmains est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/10/2008, 21h09   #2 (permalink)
Inscrit(e)
 
Date d'inscription: juillet 2007
Localisation: au pays de la liberté d'esprit
Messages: 3 080
Par défaut

Bonsoir,

Et si tu ouvrais ton aide en ligne sur le mot Goto ?

Tiens : la mienne est en anglais, mais tu la comprendras :
Citation:
GoTo can branch only to lines within the procedure where it appears.
__________________
Deux points essentiels à mes yeux :
1) Je ne regarde ni n'analyse aucun fichier joint, mais uniquement les portions de code incluses et donc affichées et commentées dans une discussion.
2) j'abandonne carrément (et sans appel) ma participation à une discussion dès lors qu'est posée une seconde question différente de la première (et ce, même si, dans l'esprit du demandeur, la 2ème est "complémentaire" de la 1ère).
ucfoutu est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/10/2008, 21h54   #3 (permalink)
Modérateur
 
Avatar de AlainTech
 
Date d'inscription: mai 2005
Localisation: Entre Liège et Bruxelles, suivant l'heure.
Âge: 54
Messages: 2 922
Envoyer un message via Skype™ à AlainTech
Par défaut

Voilà pourquoi il ne faut pas utiliser On Error GoTo mais bien On Error Resume Next bien géré.

Voici comment je pratique:
Code :
  Dim iErr As Long
  On Error Resume Next
  ' Ici le code pouvant générer une erreur
  iErr = Err.Number 'On recopie le numéro d'erreur
  On Error GoTo 0 ' On annule la gestion d'erreur. Indispensable si on ne veut pas cacher des erreurs inattendues.
  If Not iErr = 0 Then
    'Traitement de l'erreur qui peut être l'appel à une procédure générique
  End If
  ' Suite du programme
__________________
Si on vous donne une info qui marche, DITES-LE!!!!
Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres!
N'oubliez pas de cliquer sur quand vous avez obtenu la réponse à votre question.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
AlainTech est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/10/2008, 03h58   #4 (permalink)
Responsable PowerPoint
 
Avatar de Philippe JOCHMANS
 
Date d'inscription: mai 2005
Localisation: Loir et Cher et Touraine
Âge: 40
Messages: 9 968
Envoyer un message via MSN à Philippe JOCHMANS
Par défaut

Bonjour

Je pense que cet article fait pour Access devrait t'intéresser, car la gestion d'erreur est similaire dans toute les applications Office.

Cet article te permet de centrer les erreurs dans un fichier, mais tu peux peut-être l'extrapoler.

Starec
__________________
En cas de questions techniques par MP ou message visiteur
Office : :Les Cours, Les FAQs
VB : Les Cours, Les FAQs
Mes articles : ici
Me connaitre
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/10/2008, 14h50   #5 (permalink)
Membre à l'essai
 
Date d'inscription: avril 2008
Localisation: sur sa chaise
Âge: 35
Messages: 43
Par défaut

Bonjour à tous,

Merci pour vos réponses. Notamment l'article de Starec va m'être utile.

Ma question était surtout de comprendre pourquoi l'instruction GoTo se limite à une procédure (comme les enfants j'aime bien demander pourquoi ). Cela dit en me relisant je m'aperçois que je n'avais pas été très clair dans mes propos.

Si je trouve cette réponse je ne manquerait pas de vou la faire partager

amicalement
deuxmains est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Général VBA

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide