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

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    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
       
    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
    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 !  :)
       
    4. Merci beaucoup pour votre aide !
  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. 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 ?????
      1. Bonjour,

        j'appelle une boite dialogue
        Quelle boite, dans le titre vous ecrivez msgbox ?????
        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