VBA - Comment annuler ce qui est en cours ? Stop ne fct pas...
1 réponse
twinley
Bonjour à tous,
Je lance avec un UserForm une procédure de suppression de nom.
Il y a plusieurs sub et quand je test pour donner l'autorisation de
supprimer, dans le cas ou c'est non, je veux
envoyer un message
décharger l'UF
remettre les events à true
et stopper la fonctionnalité
J'ai dans le passé utilisé Stop dans des boucles, mais pas avec des UF,
or dans ce cas rien ne se passe, je continue avec les instructions
suivantes !?
Ci-dessous j'ai racourci les messages (dans mon code ils contiennent des
& vbCrLf.)
Je n'ai pas de On erreur resume ou On erreur Next dans cette sub.
Comment annuler ce qui est en cours ?
Exit Sub arrête cette sub mais pas celle qui appelle.
With Worksheets(Sheets.Count)
dercol = .Cells.Find("*", [A3], , , xlByColumns,
xlPrevious).Column
If .Cells(lign, dercol - 3) = 0 Then
MsgBox ("vous pouvez supprimer ce nom ")
Else
MsgBox ("vous ne pouvez pas supprimer ce nom ")
Unload UsFOteClient
Application.EnableEvents = True
Stop
End If
End With
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
twinley
J'ai !!!
il faut mettre End
merci à Google et Thomas Corvaisier
à+twinley
Bonjour à tous,
Je lance avec un UserForm une procédure de suppression de nom. Il y a plusieurs sub et quand je test pour donner l'autorisation de supprimer, dans le cas ou c'est non, je veux envoyer un message décharger l'UF remettre les events à true et stopper la fonctionnalité
J'ai dans le passé utilisé Stop dans des boucles, mais pas avec des UF, or dans ce cas rien ne se passe, je continue avec les instructions suivantes !? Ci-dessous j'ai racourci les messages (dans mon code ils contiennent des & vbCrLf.)
Je n'ai pas de On erreur resume ou On erreur Next dans cette sub.
Comment annuler ce qui est en cours ? Exit Sub arrête cette sub mais pas celle qui appelle.
With Worksheets(Sheets.Count) dercol = .Cells.Find("*", [A3], , , xlByColumns, xlPrevious).Column If .Cells(lign, dercol - 3) = 0 Then MsgBox ("vous pouvez supprimer ce nom ") Else MsgBox ("vous ne pouvez pas supprimer ce nom ") Unload UsFOteClient Application.EnableEvents = True Stop End If End With
Merci pour l'aide
J'ai !!!
il faut mettre End
merci à Google et Thomas Corvaisier
à+twinley
Bonjour à tous,
Je lance avec un UserForm une procédure de suppression de nom.
Il y a plusieurs sub et quand je test pour donner l'autorisation de
supprimer, dans le cas ou c'est non, je veux
envoyer un message
décharger l'UF
remettre les events à true
et stopper la fonctionnalité
J'ai dans le passé utilisé Stop dans des boucles, mais pas avec des UF,
or dans ce cas rien ne se passe, je continue avec les instructions
suivantes !?
Ci-dessous j'ai racourci les messages (dans mon code ils contiennent des
& vbCrLf.)
Je n'ai pas de On erreur resume ou On erreur Next dans cette sub.
Comment annuler ce qui est en cours ?
Exit Sub arrête cette sub mais pas celle qui appelle.
With Worksheets(Sheets.Count)
dercol = .Cells.Find("*", [A3], , , xlByColumns,
xlPrevious).Column
If .Cells(lign, dercol - 3) = 0 Then
MsgBox ("vous pouvez supprimer ce nom ")
Else
MsgBox ("vous ne pouvez pas supprimer ce nom ")
Unload UsFOteClient
Application.EnableEvents = True
Stop
End If
End With
Je lance avec un UserForm une procédure de suppression de nom. Il y a plusieurs sub et quand je test pour donner l'autorisation de supprimer, dans le cas ou c'est non, je veux envoyer un message décharger l'UF remettre les events à true et stopper la fonctionnalité
J'ai dans le passé utilisé Stop dans des boucles, mais pas avec des UF, or dans ce cas rien ne se passe, je continue avec les instructions suivantes !? Ci-dessous j'ai racourci les messages (dans mon code ils contiennent des & vbCrLf.)
Je n'ai pas de On erreur resume ou On erreur Next dans cette sub.
Comment annuler ce qui est en cours ? Exit Sub arrête cette sub mais pas celle qui appelle.
With Worksheets(Sheets.Count) dercol = .Cells.Find("*", [A3], , , xlByColumns, xlPrevious).Column If .Cells(lign, dercol - 3) = 0 Then MsgBox ("vous pouvez supprimer ce nom ") Else MsgBox ("vous ne pouvez pas supprimer ce nom ") Unload UsFOteClient Application.EnableEvents = True Stop End If End With