Fermer msgbox avec croix

Résolu
peybernes Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   -  
peybernes Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   -
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. greg
     
    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
  2. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    1
    1. greg
       
       
      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
      1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730 > greg
         
        Dans 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
      2. greg > cs_Le Pivert Messages postés 8437 Statut Contributeur
         
         
        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
    2. peybernes Messages postés 50 Date d'inscription   Statut Membre Dernière intervention  
       
      Merci beaucoup pour votre aide !
      0
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    j'appelle une boite dialogue
    Quelle boite, dans le titre vous ecrivez msgbox ?????
    0
    1. peybernes Messages postés 50 Date d'inscription   Statut Membre Dernière intervention  
       
      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
  4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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