Gestion d erreur

chtiroms Messages postés 44 Date d'inscription lundi 16 avril 2007 Statut Membre Dernière intervention 31 août 2007 - 20 juin 2007 à 14:44
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 21 juin 2007 à 00:08
Bonjour,

Je suis entrain de dévelloper un petit code pour le boulot!

J aimerai y inserer de la gestion d'erreur. J arrive deja a créer un .txt reprenant le numéro de l erreur et sa description.

Je voudrais savoir en plus comment récuperer la ligne et le module qui ont généré l'erreur (pour m aider a la corriger...)

L'idéal ensuite serait que je puisse m envoyer le fichier d'erreur par mail (en effet, le code sera utilisé par une quinzaine de personne)...

Merci a vous!

Chtiroms

13 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
20 juin 2007 à 14:49
pour la ligne, c'est erl

On Error Goto Handler
10    MsgBox 5/0
Exit Sub
Handler:
      Msgbox erl

affichera 10

pour le nom du module, pas de solution miracle

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
20 juin 2007 à 14:49
Salut,
Trouve la ligne qui donne l'erreur en compilé c'est pas faisaible (si je ne me trompe pas.)

En revanche tu peux toujours en plus du numéro et de la description, ecrire dans le fichier, le nom de la procédure ou il y a eu l'erreur ca te permetrra de restraindre un peu le champ d'action./

@+: Ju£i?n
Pensez: Réponse acceptée
0
chtiroms Messages postés 44 Date d'inscription lundi 16 avril 2007 Statut Membre Dernière intervention 31 août 2007
20 juin 2007 à 14:52
Le truc s est que le code en question comporte 5 modules, envireon 7 000 lignes de codes...

Donc comment récuperer le nom de la procédure afin de m aider a localiser l 'erreur..

(et en plus commetn m envoyer le mail derrière PS: la boite utilise Lotus)

Merci

chtiroms
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
20 juin 2007 à 14:53
Re,
merci [auteurdetail.aspx?ID=2359 Renfield], encore qqch que j'ignorais. mais il faut tout de meme mettre soi meme les chiffre dans le code au début des lignes tout de même non?

@+: Ju£i?n
Pensez: Réponse acceptée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
20 juin 2007 à 14:53
d'ailleurs, me fait penser que dans mon module de colorisation de code, le numéro des lignes pourraientt etre coloriés d'une autre couleur que les autres nombres...

voir même intégré, dans l'export.... a voir

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
20 juin 2007 à 14:55
il existe des addin qui automatisent la numérotation des lignes

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
chtiroms Messages postés 44 Date d'inscription lundi 16 avril 2007 Statut Membre Dernière intervention 31 août 2007
20 juin 2007 à 14:57
Et comment fait tu tout ca???
je viens d essayer, et que le dis jrivet, il faut que tu ai defini les numéro de ligne!!
assez fastidieux vu l'ampleur du programme!!

N as tu pas une solution miracle??

PS je suis un bon amateur en VBA, mais amateur encore...

Merci
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
20 juin 2007 à 14:58
Salut,
Ah oui MZTOOLS le fait il insere automatiquement les numéro de lignes (y a pas il est vraiment bien cet add-in)
=> si tu es en VBA il existe aussi pour VBA
@+: Ju£i?n
Pensez: Réponse acceptée
0
chtiroms Messages postés 44 Date d'inscription lundi 16 avril 2007 Statut Membre Dernière intervention 31 août 2007
20 juin 2007 à 15:08
Merci:!!

Je veins de telecharger msztools, y a plus qu a voir comment il marche ^^

Et pour l envoie par mail du fichier txt, vous avez une idée?
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
20 juin 2007 à 15:10
plein d'exemples sur le site.

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
chtiroms Messages postés 44 Date d'inscription lundi 16 avril 2007 Statut Membre Dernière intervention 31 août 2007
20 juin 2007 à 15:22
OK merci pour les lignes!

Pour le coup du mail vous savez comment on fait?
Merci

chtirms
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
20 juin 2007 à 15:30
Re,
Bah [auteurdetail.aspx?ID=2359 Renfield] a  dit:"plein d'exemples sur le site."

@+: Ju£i?n
Pensez: Réponse acceptée
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 21
21 juin 2007 à 00:08
Dans ta gestion d'erreur, tu peux appeler une procédure de celle qui suit (sous Outlook...)
Si tu n'as pas Outlook, utilise l'API ShellExecute qui est très simple d'utilisation.

Donc, sous Outlook, tu mets cet appel dans ta gestion d'erreur
    SendErrorMessage "Ladresse@abc", "Erreur dans le module XYZ", Err.Number, Err.Description

Et dans un module, tu mets la procédure

Sub SendErrorMessage(A As String, Sujet As String, NumeroErreur As Long, Desc As String)
    Dim OutlookApp As Object
    Dim NewMail As Object
    Dim Rep As Integer
   
    Rep = MsgBox("Voulez-vous envoyer le message d'erreur ?" & vbCrLf & _
                ">>Erreur: " & Err.Description, vbYesNo, "Erreur/Error")
    If Rep = vbNo Then
        Exit Sub
    End If
   
    Set OutlookApp = CreateObject("Outlook.Application")
    Set NewMail = OutlookApp.CreateItem(0)
   
    NewMail.To = A
    NewMail.Subject = Sujet
    NewMail.Body = "Erreur numéro: " & NumeroErreur & vbCrLf & Desc
   
    NewMail.Display
'    NewMail.Send
End Sub

MPi
0