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. 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 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. 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
      1. 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