Boite de dialogue à choix multiple [vbYesNoCancel]

Fermé
Lop67 - 2 déc. 2017 à 14:24
Whismeril Messages postés 17808 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 30 septembre 2022 - 2 déc. 2017 à 16:22
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

ccm81 Messages postés 10463 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 21 septembre 2022 2 314
2 déc. 2017 à 14:39
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
Parfait ça marche ! :D
merci beaucoup !
0
Whismeril Messages postés 17808 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 30 septembre 2022 860
2 déc. 2017 à 16:22
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