VIVEZ LE
FOOTBALL !

Posez votre question Signaler

EXCEL MsgBox Confirmation execution macro [Résolu]

laptitepero 10Messages postés 11 décembre 2008Date d'inscription 9 avril 2010Dernière intervention - Dernière réponse le 23 juin 2011 à 14:56
Bonjour !
Voilà ma question,
J'ai une macro qui supprime des lignes, j'ai mis un bouton d'éxécution sur ma feuille.
(juske là tout va bien)
J'aimerai à présent créer un message de confirmation pour confirmer d'éxecuter la macro si quelqu'un clique sur ce bouton.
En cherchant un peu, j'ai trouvé cette macro :
Sub MaFonction()
If MsgBox("Opération irréversible. Souhaitez-vous continuez ?", vbQuestion + vbYesNo, "QUESTION ...") = vbYes Then
...
...
...
Else
...
End If
...
End Sub
Mais je n'arrive pas à l'appliquer à la mienne (les ..... ne m'aident pas)
Merci pour votre aide.
Laptitepero
Lire la suite 

EXCEL MsgBox Confirmation execution macro »

10 réponses
Réponse
+2
moins plus
Bonjour,

L'erreur est là :

If vbCancel Then
   Exit Sub
Else

End If


Il faut faire :
If yourmsgbox  = vbCancel Then
    Exit Sub
End If


;o)
cavrom- 21 juin 2011 à 09:08
Mon dieu que c'est bon quand ça marche ! Mille fois merci !
Bonne journée !
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

Les "petits points" c'est le code qui doit être exécuté, c'est à dire ton code.

Sub MaFonction()
If MsgBox("Opération irréversible. Souhaitez-vous continuez ?", vbQuestion + vbYesNo, "QUESTION ...") = vbYes Then
    ' TON CODE SI LA REPONSE EST "OUI"
Else
    ' TON CODE SI LA REPONSE EST "NON"
End If

End Sub 


;o)
laptitepero- 8 avril 2010 à 12:00
Oki, et pour dire de ne rien faire si la réponse est non,
il y a un code spécial ?

Aussi, pour la partie entre () après MsgBox, qu'est ce j'ai droit de toucher ?
"QUESTION...." , je remet ma question "Opération irrversible... ?"

Merci
Polux31- 8 avril 2010 à 12:08
Ben non y a pas de code spécial !!! s'il ne faut rien faire, y a rien à coder ... tu peux donc enlever le Else. Ou tu peux mettre un Exit Sub dans le Else pour sortir de la procédure.

Dans MsgBox, "QUESTION..." est le titre qui apparaitra dans le bandeau bleu de la boîte de dialogue. Tu peux mettre ce que tu veux.
Ajouter un commentaire
Réponse
+0
moins plus
Si ça peut t'aider,
voici ma macro de base :

Sub SuppLigne()
Dim Lig As Long
Sheets("Modèle").Select
Lig = ActiveCell.Row
Rows(Lig).Delete
Sheets("Résultat").Rows(Lig).Delete
Sheets("Constantes").Rows(Lig).Delete
End Sub
Ajouter un commentaire
Réponse
+0
moins plus
Yahou, tout marche nikel !
Merci bcp !
Polux31- 8 avril 2010 à 12:39
Content pour toi :o)

Bonne continuation et bon courage.

;o)
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour à tous,
J'ai exactement le même problème que lapetitepero, mais vos infos ne me débloquent pas.
ma syntaxe est la suivante :
 yourmsgbox = MsgBox("Are you sure you validate?", vbOKCancel, "confirmation")
        If vbCancel Then
        Exit Sub
        Else
        End If 


Ensuite se trouve mon code à exécuter si l'on clique sur Ok.
Dans ce cas, que je clique sur Ok ou Annuler, c'est le cas annuler qui s'exécute. Mais où est l'erreur?
cavrom- 23 juin 2011 à 14:56
pour ceux que ça intéresse, voici la réponse :
'Msgbox Ok + Annuler
 yourmsgbox = MsgBox("Are you sure to validate?", vbOKCancel, "Confirmation")

If yourmsgbox = vbCancel Then
    Exit Sub
End If
Ajouter un commentaire
Ce document intitulé « EXCEL MsgBox Confirmation execution macro » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?