Confirmation pour lancer une macro

  • Initiateur de la discussion Initiateur de la discussion juju59
  • 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 !

J

juju59

Guest
Bonjour à tous,

J'ai une petite question qui a mon avis ne devrait pas poser trop de problème mais a laquelle je ne trouve pas de réponse.

J'ai un bouton qui lance une macro, je voudrai créer un msgbox demandant la confirmation "voulez vous continuer" jusqu'ici tout va bien.
Code:
     MsgBox "Voulez-vous continuer ?", vbYesNo, "Voulez-vous continuer ?"

Sauf que je ne sais pas comment attribuer au bouton
yes : la macro continue
no : la macro se stop sans message d'erreur et sans bug

je pense qu'il y a une histoire de :
Code:
case vbyes
et
Code:
case vbno

Merci par avance

Cordialement
 
Re : Confirmation pour lancer une macro

Bonjour
VB:
Select Case MsgBox("Voulez-vous continuer ?", vbYesNo, LibelléTâche)
À+

Bonjour Pierrot93
Oui c'est vrai du reste, le Select Case n'est requis que pour vbYesNoCancel. L'essentiel c'est d'utiliser le MsgBox comme fonction retournant une valeur.
 
Dernière édition:
Re : Confirmation pour lancer une macro

Bonjour, juju59

Ce que dit l'aide VBA :
Valeurs renvoyées par MsgBox
Constante Valeur Bouton choisi
vbOK 1 Bouton OK
vbCancel 2 Bouton Annuler
vbAbort 3 Bouton Abandonner
vbRetry 4 Bouton Répéter
vbIgnore 5 Bouton Ignorer
vbYes 6 Bouton Oui
vbNo 7 Bouton Non
If MsgBox "Voulez-vous continuer ?", vbYesNo, "Voulez-vous continuer ?"= 7 then exit sub devrait le faire.

Edit : Bonjour Pierrot93, Dranreb
 
Dernière édition:
Re : Confirmation pour lancer une macro

Bonjour,

Voici un exemple...
Code:
Private Sub Worksheet_Change(ByVal Target As Range)

    Select Case MsgBox("Voulez-vous continuer ?", vbYesNo, "Confirmation")
        
        Case vbYes
            
            'Si oui, appel de la macro
            Call Macro1

        Case vbNo

            MsgBox ("Merci et au revoir")

    End Select
    
    
    'Note que tu peux fairte comme ceci, mais effectivement c'est
    'mieux de faire des macro et de les appeler.
    
    'Select Case MsgBox("Voulez-vous continuer ?", vbYesNo, "Confirmation")
        
    '    Case vbYes

    '        MsgBox ("Coucou")

    '    Case vbNo

    '        MsgBox ("Merci et au revoir")

    'End Select


End Sub

Private Sub Macro1()

    MsgBox ("Coucou")

End Sub
 
Re : Confirmation pour lancer une macro

Merci pour votre rapidité !
Donc je met mon msgbox normalement et a la ligne après je met donc ce:

"If MsgBox ("Voulez-vous continuer ?", vbYesNo, "Voulez-vous continuer ?")= 7 then exit sub "

et en dessous

"else + toute la macro"

et tout a la fin

"end if"

C'est bien ça ?
 
Re : Confirmation pour lancer une macro

Non, pas besoin d'appleler MsgBox auparavent comme une procédure

Remarque: ça me paraît idiot de mettre le texte du message également comme titre de sa fenêtre: on y met plutôt une courte description du but de la procédure qui l'émet.
À+
 
Re : Confirmation pour lancer une macro

D'accord je vais essayer ça merci.

Dranreb : rassure toi je ne mets pas la même chose dans les deux, en vérité mon msbox contient une bien plus grande phrase que j'ai jugé inutile de recopier ici.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
691
Retour