Confirmation pour lancer une macro

juju59

XLDnaute Nouveau
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
 

Dranreb

XLDnaute Barbatruc
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:

Victor21

XLDnaute Barbatruc
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:

Hulk

XLDnaute Barbatruc
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
 

juju59

XLDnaute Nouveau
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 ?
 

Dranreb

XLDnaute Barbatruc
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.
À+
 

juju59

XLDnaute Nouveau
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.
 

Discussions similaires

Statistiques des forums

Discussions
312 502
Messages
2 089 049
Membres
104 012
dernier inscrit
baffyt2