OVH Cloud OVH Cloud

'On Error GoTo' a encore frappé !!

3 réponses
Avatar
Myriam
Bonjour à toutes et tous !

Désolé de vous pourrir les forums avec cette énième questions mais :

On Error GoTo me fait toujours une crise...

J'utilise "On Error GoTo Suite" pour continuer ma macro si je trouve pas le
texte de la variable 'Contenu' dans les cellules de la colonne H, d'une
série de document ouvert les uns après les autres par la macro...
Or le "On Error GoTo Suite" ne fonctionne qu'une fois (correctement) puis
bloque à la deuxième fois qu'il est sollicité !
Apparament je ne suis pas la seule à avoir ce problème...

J'ai tenté tous les : "On Error Resume", "Err.Clear", "On Error GoTo
ErrorHandler", "On Error Resume Suite", etc...

Rien n'y fait !
Cela bloque toujours au deuxième passage sur "On Error GoTo Suite" en cas
d'erreur !!

Voici un extrait de ma macro, si une âme charitable ???
_______________________________
Recherche:
Contenu = InputBox("Saisir le Nom du Compte à exploiter.
Exemple: Bureau", "Saisie du Compte")
If Contenu = "" Then GoTo Fin
Columns("H:H").Select
On Error GoTo Suite
Selection.Find(What:=Contenu, After:=ActiveCell,
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, MatchCase:=False).Activate
On Error GoTo Suite
ActiveCell.EntireRow.Select
Selection.Delete Shift:=xlUp
Suite:
etc............................................
_____________________________________

J'aime bien les NewsGroup mais pas les virus !!!
Retirer la 'Virgule.' si vous voulez répondre !!
Myriam.M Virgule.la.bande.a.Basil@Netcourrier.com

3 réponses

Avatar
Herdet
Bonjour Myriam,
< Désolé de vous pourrir les forums avec cette énième questions >
Tu n'a pas à t'excuser de poser des questions, au contraire le forum est là
pour aider tous ceux qui s'en posent.
Je n'ai pas la procédure complète mais je pense qu'il faut désactiver le
goto Suite après les adresses de renvois sinon le test d'erreur n'est pas
gérable.
- insère un On Error Goto 0 immédiatement après Suite:
- insère un On Error Goto 0 immédiatement après Fin:

Par principe, il vaut mieux désactiver le test d'erreur par On Error Goto 0
immédiatement après les lignes qui doivent être testées à moins de gérer
toutes les erreurs par la variable Err
Salutations
Robert Dezan

"Myriam" a écrit dans le message
de news:
Bonjour à toutes et tous !

Désolé de vous pourrir les forums avec cette énième questions mais :

On Error GoTo me fait toujours une crise...

J'utilise "On Error GoTo Suite" pour continuer ma macro si je trouve pas
le
texte de la variable 'Contenu' dans les cellules de la colonne H, d'une
série de document ouvert les uns après les autres par la macro...
Or le "On Error GoTo Suite" ne fonctionne qu'une fois (correctement) puis
bloque à la deuxième fois qu'il est sollicité !
Apparament je ne suis pas la seule à avoir ce problème...

J'ai tenté tous les : "On Error Resume", "Err.Clear", "On Error GoTo
ErrorHandler", "On Error Resume Suite", etc...

Rien n'y fait !
Cela bloque toujours au deuxième passage sur "On Error GoTo Suite" en cas
d'erreur !!

Voici un extrait de ma macro, si une âme charitable ???
_______________________________
Recherche:
Contenu = InputBox("Saisir le Nom du Compte à exploiter.
Exemple: Bureau", "Saisie du Compte")
If Contenu = "" Then GoTo Fin
Columns("H:H").Select
On Error GoTo Suite
Selection.Find(What:=Contenu, After:¬tiveCell,
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, MatchCase:úlse).Activate
On Error GoTo Suite
ActiveCell.EntireRow.Select
Selection.Delete Shift:=xlUp
Suite:
etc............................................
_____________________________________

J'aime bien les NewsGroup mais pas les virus !!!
Retirer la 'Virgule.' si vous voulez répondre !!
Myriam.M




Avatar
Oliv'
SAlut,
Plus simplement tu fais un met un ON ERROR RESUME NEXT
et cela passe à la commande suivante mais n'affiche pas les erreurs.

où alors tu ajoutes des
ON ERROR goto suite
tes instructions
:suite

on error goto suite1
tes instructions
:suite1

etc...

Oliv'


C'est
"Herdet" a écrit dans le message de news:

Bonjour Myriam,
< Désolé de vous pourrir les forums avec cette énième questions >
Tu n'a pas à t'excuser de poser des questions, au contraire le forum est là
pour aider tous ceux qui s'en posent.
Je n'ai pas la procédure complète mais je pense qu'il faut désactiver le
goto Suite après les adresses de renvois sinon le test d'erreur n'est pas
gérable.
- insère un On Error Goto 0 immédiatement après Suite:
- insère un On Error Goto 0 immédiatement après Fin:

Par principe, il vaut mieux désactiver le test d'erreur par On Error Goto 0
immédiatement après les lignes qui doivent être testées à moins de gérer
toutes les erreurs par la variable Err
Salutations
Robert Dezan

"Myriam" a écrit dans le message
de news:
Bonjour à toutes et tous !

Désolé de vous pourrir les forums avec cette énième questions mais :

On Error GoTo me fait toujours une crise...

J'utilise "On Error GoTo Suite" pour continuer ma macro si je trouve pas
le
texte de la variable 'Contenu' dans les cellules de la colonne H, d'une
série de document ouvert les uns après les autres par la macro...
Or le "On Error GoTo Suite" ne fonctionne qu'une fois (correctement) puis
bloque à la deuxième fois qu'il est sollicité !
Apparament je ne suis pas la seule à avoir ce problème...

J'ai tenté tous les : "On Error Resume", "Err.Clear", "On Error GoTo
ErrorHandler", "On Error Resume Suite", etc...

Rien n'y fait !
Cela bloque toujours au deuxième passage sur "On Error GoTo Suite" en cas
d'erreur !!

Voici un extrait de ma macro, si une âme charitable ???
_______________________________
Recherche:
Contenu = InputBox("Saisir le Nom du Compte à exploiter.
Exemple: Bureau", "Saisie du Compte")
If Contenu = "" Then GoTo Fin
Columns("H:H").Select
On Error GoTo Suite
Selection.Find(What:=Contenu, After:¬tiveCell,
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, MatchCase:úlse).Activate
On Error GoTo Suite
ActiveCell.EntireRow.Select
Selection.Delete Shift:=xlUp
Suite:
etc............................................
_____________________________________

J'aime bien les NewsGroup mais pas les virus !!!
Retirer la 'Virgule.' si vous voulez répondre !!
Myriam.M




Avatar
Pierre CFI [mvp]
bonjour
quand tu fais un On error goto etiquette, tu envoie le systeme vers cette étiquette pour traitement, mais un erreur n'est pas une
chose normal, le systeme attend une instruction qui lui dit quoi faire, et cette instruction est Resume
exemple
Private Sub Commande6_Click()
On Error GoTo Err_Commande6_Click
'ici code vba
Exit_Commande6_Click:
Exit Sub

Err_Commande6_Click:
MsgBox Err.Description
Resume Exit_Commande6_Click

End Sub

C'est mieux que çà, méme si çà semble faire la méme chose
Private Sub Commande6_Click()
On Error GoTo Err_Commande6_Click
'ici code vba...
exit sub
Err_Commande6_Click:
MsgBox Err.Description
End Sub


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Myriam" a écrit dans le message de news:
Bonjour à toutes et tous !

Désolé de vous pourrir les forums avec cette énième questions mais :

On Error GoTo me fait toujours une crise...

J'utilise "On Error GoTo Suite" pour continuer ma macro si je trouve pas le
texte de la variable 'Contenu' dans les cellules de la colonne H, d'une
série de document ouvert les uns après les autres par la macro...
Or le "On Error GoTo Suite" ne fonctionne qu'une fois (correctement) puis
bloque à la deuxième fois qu'il est sollicité !
Apparament je ne suis pas la seule à avoir ce problème...

J'ai tenté tous les : "On Error Resume", "Err.Clear", "On Error GoTo
ErrorHandler", "On Error Resume Suite", etc...

Rien n'y fait !
Cela bloque toujours au deuxième passage sur "On Error GoTo Suite" en cas
d'erreur !!

Voici un extrait de ma macro, si une âme charitable ???
_______________________________
Recherche:
Contenu = InputBox("Saisir le Nom du Compte à exploiter.
Exemple: Bureau", "Saisie du Compte")
If Contenu = "" Then GoTo Fin
Columns("H:H").Select
On Error GoTo Suite
Selection.Find(What:=Contenu, After:¬tiveCell,
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:=xlNext, MatchCase:úlse).Activate
On Error GoTo Suite
ActiveCell.EntireRow.Select
Selection.Delete Shift:=xlUp
Suite:
etc............................................
_____________________________________

J'aime bien les NewsGroup mais pas les virus !!!
Retirer la 'Virgule.' si vous voulez répondre !!
Myriam.M