annuler deux sub à la suite

  • Initiateur de la discussion Initiateur de la discussion mumu
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

mumu

XLDnaute Occasionnel
Bonjour,

Grace au forum, j'ai réussi à trouver comment quitter une sub (precise_annee) après avoir cliqué sur "annuler" dans une Inputbox mais je bloque sur la suite. Voici le code :

Code:
Private Sub Workbook_open()

Call precise_annee
Call sub2
Call sub3

End Sub

Sub precise_annee()
annee = InputBox("Quelle est l'année de travail ?", "précision de l'année")
'Intercepte l'utilisation du bouton "Annuler"
   If annee = "" Then
        MsgBox "opération annulée", vbOKOnly, "INFO"
        Exit Sub
   End If
......

Je voudrais qu'il quitte également la "Private Sub worbook_open" c'est à dire qu'il n'execute pas sub 2 et sub3.

Quelqu'un pourrait-il me trouver une petite solution (si elle existe) ?

D'avance merci !!

Muriel.
 
Re : annuler deux sub à la suite

Bonjour Muriel,

Plusieurs solutions, mais la plus simple:

pourquoi ne pas imbriquer tes subs,😀 ex:

Private Sub Workbook_open()

Call precise_annee


End Sub

Sub precise_annee()
annee = InputBox("Quelle est l'année de travail ?", "précision de l'année")
'Intercepte l'utilisation du bouton "Annuler"
If annee = "" Then
MsgBox "opération annulée", vbOKOnly, "INFO"
Exit Sub
else
Call sub2
Call sub3
End If
......
 
Re : annuler deux sub à la suite

BONJOUR
en passant les call(s) apres

Private Sub Workbook_open()
Call precise_annee
End Sub

Sub precise_annee()
annee = InputBox("Quelle est l'année de travail ?", "précision de l'année")
'Intercepte l'utilisation du bouton "Annuler"
If annee = "" Then
MsgBox "opération annulée", vbOKOnly, "INFO"
Exit Sub
End If
Call SUB2
Call SUB3
End Sub
salut
E et F
 
Re : annuler deux sub à la suite

Ah ben ça alors......
Je me triture l'esprit pour un truc aussi simple......
En arrangeant deux trois trucs dans "precise_année" je vais pouvoir utiliser ta solution !

Merci à vous deux pour cet éclair de génie !

@ +

Mumu
 
Re : annuler deux sub à la suite

Bonjour à tous

Ci dessous le code modifiée.
Passage d'un paramètre
Code:
procédure appelante
Private Sub Workbook_open()
Dim retourw As Boolean
retourw = False
Call precise_annee(retourw)
If retourw = True Then Exit Sub ' test du retour
Call sub3

End Sub

procédure appelée

 [COLOR="red"]Sub precise_annee(retourw As Boolean)[/COLOR]
annee = InputBox("Quelle est l'année de travail ?", "précision de l'année")
'Intercepte l'utilisation du bouton "Annuler"
   If annee = "" Then
        MsgBox "opération annulée", vbOKOnly, "INFO"
        [COLOR="red"]retourw = True[/COLOR]
        Exit Sub
   End If
End Sub
Les paramètres sont passés par référence : "By Ref" adresse de la variable.
La modification de la variable dans la procédure appelée entraine la modification dans la procédure appelante.
A tester

JP
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

L
Réponses
3
Affichages
1 K
E
Réponses
2
Affichages
2 K
M
Réponses
2
Affichages
1 K
manekimashimaro
M
C
Réponses
4
Affichages
887
ccfconsulting
C
J
Réponses
2
Affichages
2 K
jimmy59940
J
Retour