Boite de dialogue à choix multiple [vbYesNoCancel]

Lop67 -  
 Utilisateur anonyme -
Bonjour tout le monde,

Alors voilà je souhaite une boite de dialogue qui enregistre et ferme mon document si on clique sur oui (Cette partie la fonctionne correctement), ferme le formulaire sans sauvegarde si on clique sur non, et rien du tout si on clique sur annuler. Cependant pour les deux dernières options j'ai un problème car je ne clique pas sur oui il ferme mon formulaire peut importe si je clique sur non ou annuler.

Pouvez vous m'aider svp

Private Sub Quitter_Click()
If MsgBox("Voulez-vous sauvegarder avant de quitter ?", vbYesNoCancel + vbExclamation, "Demande de confirmation") = vbYes Then
Appel_Save 'Fonction de sauvegarde
Unload Me
ElseIf vbNo Then
Unload Formulaire
ElseIf vCancel Then
End If
End Sub

3 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    Essaies comme ceci

    Private Sub Quitter_Click()
    Dim rep
    rep = MsgBox("Voulez-vous sauvegarder avant de quitter ?", vbYesNoCancel + vbExclamation, "Demande de confirmation") = vbYes
    If rep = vbYes Then
      Appel_Save 'Fonction de sauvegarde
      Unload Me
    ElseIf rep = vbNo Then
      Unload Formulaire
    ElseIf rep = vCancel Then
    End If
    End Sub
    

    Cdlmnt
    1
    1. Lop67
       
      Parfait ça marche ! :D
      merci beaucoup !
      0
    2. Utilisateur anonyme
       
      Quand tu veux tester plusieurs résultas (fonction, inputbox, ect...), passer par une variable intermédiaire est une soltuion.
      Une autre est d’utiliser un select case.
      0
  2. Utilisateur anonyme
     
    Bonjour

    Je t’ecris en « français » ce que fais ton code


    Si le résultat de ma boite de dialogue est Oui alors
    Je sauvegarde
    Sinon si rien est Non alors
    Je ferme
    Sinon si rien est Annuler alors
    Je ne fais rien


    Vois tu le problème ?
    0
    1. Lop67
       
      Ouai je vois, mais je ne sais pas comment faire une conditions qui me permettrai de choisir la bonne option, je dois remplacer le elseif par quoi ? stp
      0
  3. madmyke Messages postés 52304 Date d'inscription   Statut Modérateur Dernière intervention   12 487
     
    Bonjour

    Merci d'avoir participé à ce forum.
    Il semble que votre problème ai trouvé une réponse.

    Si la réponse vous satisfait je vous invite à mettre en résolue, c'est très simple.

    Merci de cliquer sur >CE LIEN<

    PS: Si vous l'avez résolu vous même, il pourrait être intéressant de poster la solution pour les autres internautes.

    Cordialement
    0