EXCEL MsgBox Confirmation execution macro

Résolu
laptitepero Messages postés 19 Statut Membre -  
 loloonthewave -
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

5 réponses

  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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)
    «Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
    Nicolas Boileau
    4
    1. cavrom Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   3
       
      Mon dieu que c'est bon quand ça marche ! Mille fois merci !
      Bonne journée !
      0
  2. cavrom Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   3
     
    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?
    3
    1. cavrom Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   3
       
      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
      0
  3. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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)
    1
    1. laptitepero Messages postés 19 Statut Membre
       
      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
      0
    2. Polux31 Messages postés 7219 Statut Membre 1 204
       
      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.
      0
    3. loloonthewave
       
      Super merci, c'est franchement nickel !!!!!
      0
  4. laptitepero Messages postés 19 Statut Membre
     
    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
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. laptitepero Messages postés 19 Statut Membre
     
    Yahou, tout marche nikel !
    Merci bcp !
    0
    1. Polux31 Messages postés 7219 Statut Membre 1 204
       
      Content pour toi :o)

      Bonne continuation et bon courage.

      ;o)
      0