Bonjour Regarde l'aide dans VBA sur l'instruction End Sinon regarde du côté d'un simple Exit sub.
Cordialement Pascal
"Michael BAS" a écrit dans le message de news:
Bonjour a tous
Existe-t-il un moyen en VBA de quitter toutes les sub en cours de route ?
Dans mon exemple, je lance une sub Z suite a un workbook before print
dans cette sub Z est-il possible d'arreter cette sub (Z) et sortir aussi du
beforeprint ??
Ma question a surement l'air bizarre mais c'est normal Si besoin je me reexplique Merci d'avance !
PMO
Bonjour,
1) Déclarez une variable publique booléenne dans le module contenant la sub Z (dans l'exemple Public BOOL As Boolean) 2) Dans la sub Z effectuez votre traitement et en fonction du résultat affectez True à BOOL 3) Dans la procédure évènementielle Workbook_BeforePrint faites Cancel = BOOL puis affectez False à BOOL
CODE ThisWorkbook '********** Private Sub Workbook_BeforePrint(Cancel As Boolean) Call Z Cancel = BOOL BOOL = False End Sub '**********
CODE Standard '********** Public BOOL As Boolean ''____________________ Sub Z() ''' traitement ''' ''' si certaine condition alors BOOL = True ''' BOOL = True End Sub '********** Si BOOL = True alors l'impression est annulée.
Cordialement.
-- PMO Patrick Morange
Bonjour a tous
Existe-t-il un moyen en VBA de quitter toutes les sub en cours de route ?
Dans mon exemple, je lance une sub Z suite a un workbook before print
dans cette sub Z est-il possible d'arreter cette sub (Z) et sortir aussi du beforeprint ??
Ma question a surement l'air bizarre mais c'est normal Si besoin je me reexplique Merci d'avance !
Bonjour,
1) Déclarez une variable publique booléenne dans le module
contenant la sub Z (dans l'exemple Public BOOL As Boolean)
2) Dans la sub Z effectuez votre traitement et en fonction
du résultat affectez True à BOOL
3) Dans la procédure évènementielle Workbook_BeforePrint
faites Cancel = BOOL puis affectez False à BOOL
CODE ThisWorkbook
'**********
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Call Z
Cancel = BOOL
BOOL = False
End Sub
'**********
CODE Standard
'**********
Public BOOL As Boolean
''____________________
Sub Z()
''' traitement '''
''' si certaine condition alors BOOL = True '''
BOOL = True
End Sub
'**********
Si BOOL = True alors l'impression est annulée.
Cordialement.
--
PMO
Patrick Morange
Bonjour a tous
Existe-t-il un moyen en VBA de quitter toutes les sub en cours de route ?
Dans mon exemple, je lance une sub Z suite a un workbook before print
dans cette sub Z est-il possible d'arreter cette sub (Z) et sortir aussi du
beforeprint ??
Ma question a surement l'air bizarre mais c'est normal
Si besoin je me reexplique
Merci d'avance !
1) Déclarez une variable publique booléenne dans le module contenant la sub Z (dans l'exemple Public BOOL As Boolean) 2) Dans la sub Z effectuez votre traitement et en fonction du résultat affectez True à BOOL 3) Dans la procédure évènementielle Workbook_BeforePrint faites Cancel = BOOL puis affectez False à BOOL
CODE ThisWorkbook '********** Private Sub Workbook_BeforePrint(Cancel As Boolean) Call Z Cancel = BOOL BOOL = False End Sub '**********
CODE Standard '********** Public BOOL As Boolean ''____________________ Sub Z() ''' traitement ''' ''' si certaine condition alors BOOL = True ''' BOOL = True End Sub '********** Si BOOL = True alors l'impression est annulée.
Cordialement.
-- PMO Patrick Morange
Bonjour a tous
Existe-t-il un moyen en VBA de quitter toutes les sub en cours de route ?
Dans mon exemple, je lance une sub Z suite a un workbook before print
dans cette sub Z est-il possible d'arreter cette sub (Z) et sortir aussi du beforeprint ??
Ma question a surement l'air bizarre mais c'est normal Si besoin je me reexplique Merci d'avance !