Fermer msgbox avec croix

Résolu
Bonjour à tous,

J'ai un problème sur Excel ; à l'aide d'une macro, j'appelle une boite dialogue et je souhaiterais, par le simple appui de la croix en haut à droite, fermer ma fenêtre et donc quitter la macro.

Merci pour votre aide

Peybernes

4 réponses

  1. Bonjour Peybernes,

    Je te propose ce code VBA :

    
    If MsgBox("Êtes-vous sûr de vouloir supprimer les saisies ?", vbYesNo, _
    "Demande de confirmation") = vbYes Then
      [A1:D10].ClearContents: Exit Sub
    End If
    
    

    Cordialement
     
    1
    1. Contributeur
      1
      1.  
        Bonjour, cs_Le Pivert,

        J'ai suivi ton lien ; c'est bien une conversation similaire, mais :

        a) La boîte de dialogue affiche une autre question

        b) Les boutons sont : vbYesNoCancel + vbCritical + vbDefaultButton2
            alors qu'ici, c'est simplement : vbYesNo

        c) La partie de code ci-dessous ne contient pas Exit Sub :

        
            Else
                'Traitement de la réponse ANNULER ou fermeture par la CROIX
            End If
        
        

        C'est pourquoi ma réponse de 17:35 reste valable :

        https://forums.commentcamarche.net/forum/affich-34832298-fermer-msgbox-avec-croix#6

        Cordialement
         
        0
      2. Contributeur
        @gregDans ta MsgBox la croix de fermeture est masquée!
        Alors que dans le lien que j'ai indiqué elle est présente

        D'où le titre de ce post:

        Fermer msgbox avec croix

        Cdlt
        0
      3. @cs_Le Pivert 
        Ah oui, tu as raison ! j'avais pas vu que la croix est non cliquable ;
        pour qu'elle soit cliquable, il faut remplacer dans mon précédent
        code VBA : vbYesNo par vbYesNoCancel ; ce qui donne :

        
        Sub Essai()
          If MsgBox("Êtes-vous sûr de vouloir supprimer les saisies ?", _
          vbYesNoCancel, "Demande de confirmation") = vbYes Then
            [A1:D10].ClearContents: Exit Sub
          End If
        End Sub
        
        

        Merci pour tes infos !  :)
         
        0
      4. Merci beaucoup pour votre aide !
        0
    2. Bonjour,

      j'appelle une boite dialogue
      Quelle boite, dans le titre vous ecrivez msgbox ?????
      0
      1. Bonjour !

        Ma macro est la suivante :

        "If MsgBox("Êtes-vous sûr de vouloir supprimer les saisies?", vbYesNo, _"Demande de confirmation") = vbYes Then
        Range("A1:D10").Select
        Selection.ClearContents "

        Je voudrais donc pouvoir fermer la fenêtre qui s'affiche lorsque je lance ma macro grâce à la croix.

        Avez-vous une idée ?

        Merci
        0
    3. Re,

      Je voudrais donc pouvoir fermer la fenêtre qui s'affiche lorsque je lance ma macro grâce à la croix.

      Quelle fenetre et quelle croix, car msgbox yesno pas de croix de fermeture ?????
      0