Comment obtenir par code VBA le N° de ligne d'une procédure
2 réponses
Claude AGUILA
Afin de remédier rapidement, notamment à distance, à une erreur renvoyée par
une routine d'erreur dans une procédure à l'intérieur d'une module, je
voudrai obtenir le n° de la ligne venant d'être lue et source de l'erreur
repérée par ma routine d'erreur.
Merci de m'indiquer si cela est possible avec VBA pour Excel97.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
anonymousA
Bonjour,
Pourquoi ne pas tout simplement laisser le programme se planter en désactiver le gestionnaire d'erreurs et donc indiquer de lui-même où il s'est planté ? Ne marchera evidemment que si le projet VBA est déverouillé si tant est qu'il soit verrouillé.
A+
Afin de remédier rapidement, notamment à distance, à une erreur renvoyée par une routine d'erreur dans une procédure à l'intérieur d'une module, je voudrai obtenir le n° de la ligne venant d'être lue et source de l'erreur repérée par ma routine d'erreur. Merci de m'indiquer si cela est possible avec VBA pour Excel97.
Bonjour,
Pourquoi ne pas tout simplement laisser le programme se planter en
désactiver le gestionnaire d'erreurs et donc indiquer de lui-même où il
s'est planté ?
Ne marchera evidemment que si le projet VBA est déverouillé si tant est
qu'il soit verrouillé.
A+
Afin de remédier rapidement, notamment à distance, à une erreur renvoyée par
une routine d'erreur dans une procédure à l'intérieur d'une module, je
voudrai obtenir le n° de la ligne venant d'être lue et source de l'erreur
repérée par ma routine d'erreur.
Merci de m'indiquer si cela est possible avec VBA pour Excel97.
Pourquoi ne pas tout simplement laisser le programme se planter en désactiver le gestionnaire d'erreurs et donc indiquer de lui-même où il s'est planté ? Ne marchera evidemment que si le projet VBA est déverouillé si tant est qu'il soit verrouillé.
A+
Afin de remédier rapidement, notamment à distance, à une erreur renvoyée par une routine d'erreur dans une procédure à l'intérieur d'une module, je voudrai obtenir le n° de la ligne venant d'être lue et source de l'erreur repérée par ma routine d'erreur. Merci de m'indiquer si cela est possible avec VBA pour Excel97.
popi
Bonjour à toi aussi Claude, (décidément les bonnes habitudes...;-)
Afin de remédier rapidement, notamment à distance, à une erreur renvoyée par une routine d'erreur dans une procédure à l'intérieur d'une module, je voudrai obtenir le n° de la ligne venant d'être lue et source de l'erreur repérée par ma routine d'erreur. Merci de m'indiquer si cela est possible avec VBA pour Excel97. Voici une réponse que j'avais faite il y a environ 2 ans 1/2 à la même
question posée par un (ou une) Claude !
Sub identifie_ligne_erreur() 2: On Error GoTo popi_debog 3: MsgBox rien.Value / 5 4: Exit Sub popi_debog: 6: nom_modul = Application.VBE.ActiveCodePane.CodeModule 7: textcode = Application.VBE.ActiveCodePane.CodeModule.Lines(Erl, 1) 8: textcodeseul = Right(textcode, Len(textcode) - 2) 9: MsgBox "Nom de macro : identifie_ligne_erreur " & vbCr _ & "Erreur à la ligne : " & Erl & vbCr _ & "Ligne de code : " & textcodeseul, vbInformation, "Dans le module : " & nom_modul End Sub 'Conditions au bon fonctionnement: 'soit la macro est seule et en tête de module et numérotée soit toutes 'les lignes 'si plusieurs macros sont numérotées
J'avais rajouté à l'époque : " Et comme je pense au dino, çà fonctionne aussi avec xl97 ;- )" (Private Joke)
@+ popi
Bonjour à toi aussi Claude, (décidément les bonnes habitudes...;-)
Afin de remédier rapidement, notamment à distance, à une erreur renvoyée par
une routine d'erreur dans une procédure à l'intérieur d'une module, je
voudrai obtenir le n° de la ligne venant d'être lue et source de l'erreur
repérée par ma routine d'erreur.
Merci de m'indiquer si cela est possible avec VBA pour Excel97.
Voici une réponse que j'avais faite il y a environ 2 ans 1/2 à la même
question posée par un (ou une) Claude !
Sub identifie_ligne_erreur()
2: On Error GoTo popi_debog
3: MsgBox rien.Value / 5
4: Exit Sub
popi_debog:
6: nom_modul = Application.VBE.ActiveCodePane.CodeModule
7: textcode = Application.VBE.ActiveCodePane.CodeModule.Lines(Erl, 1)
8: textcodeseul = Right(textcode, Len(textcode) - 2)
9: MsgBox "Nom de macro : identifie_ligne_erreur " & vbCr _
& "Erreur à la ligne : " & Erl & vbCr _
& "Ligne de code : " & textcodeseul, vbInformation,
"Dans le
module : " & nom_modul
End Sub
'Conditions au bon fonctionnement:
'soit la macro est seule et en tête de module et numérotée soit toutes
'les lignes
'si plusieurs macros sont numérotées
J'avais rajouté à l'époque :
" Et comme je pense au dino, çà fonctionne aussi avec xl97 ;-
)" (Private Joke)
Bonjour à toi aussi Claude, (décidément les bonnes habitudes...;-)
Afin de remédier rapidement, notamment à distance, à une erreur renvoyée par une routine d'erreur dans une procédure à l'intérieur d'une module, je voudrai obtenir le n° de la ligne venant d'être lue et source de l'erreur repérée par ma routine d'erreur. Merci de m'indiquer si cela est possible avec VBA pour Excel97. Voici une réponse que j'avais faite il y a environ 2 ans 1/2 à la même
question posée par un (ou une) Claude !
Sub identifie_ligne_erreur() 2: On Error GoTo popi_debog 3: MsgBox rien.Value / 5 4: Exit Sub popi_debog: 6: nom_modul = Application.VBE.ActiveCodePane.CodeModule 7: textcode = Application.VBE.ActiveCodePane.CodeModule.Lines(Erl, 1) 8: textcodeseul = Right(textcode, Len(textcode) - 2) 9: MsgBox "Nom de macro : identifie_ligne_erreur " & vbCr _ & "Erreur à la ligne : " & Erl & vbCr _ & "Ligne de code : " & textcodeseul, vbInformation, "Dans le module : " & nom_modul End Sub 'Conditions au bon fonctionnement: 'soit la macro est seule et en tête de module et numérotée soit toutes 'les lignes 'si plusieurs macros sont numérotées
J'avais rajouté à l'époque : " Et comme je pense au dino, çà fonctionne aussi avec xl97 ;- )" (Private Joke)