Messagebox avec un choix OUI NON ?

Bonjour

Je flanche sur un nouveau problème.

Je cherche à afficher un message a la fermeture d’un fichier. Jusque là pas de soucis, j’ai programmé ce code dans le thisworkbook :

Private Sub Workbook_BeforeClose(Cancel As Boolean)

MsgBox "Avez-vous rempli le formulaire de satisfaction"

Exit Sub

End Sub

Maintenant ce que je souhaiterais faire, c’est au lieu d’avoir une touche ok sous le message je souhaiterais afficher un oui/non avec deux résultats distinct.

Si clic sur Oui, le document se ferme

Si clic sur non afficher l’onglet n°2 (qui contient le formulaire de réponse)

Merci d’avance pour votre aide

Bonjour

Essayes avec cette procédure

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  If MsgBox("Avez-vous rempli le formulaire de satisfaction", vbQuestion + vbYesNo) <> vbYes Then
    Cancel = True
    ' Affichage de ton formulaire
    Sheets("Sheet2").Select
  End If
End Sub

C'est un super début de réponse, merci beaucoup

Lorsqu'on appuie sur OUI comme demandé, le document se ferme

Mais lorsqu'on clic sur non j'ai un message d'erreur :

erreur d'exécution "9"

l'indice n'appartient pas à la séléction

Je ne sais pas trop comment y résoudre.

Bonsoir

Le fichier que tu as transmis correspond bien au fichier réel (nom des pages) ?

A suivre

autant pour moi désolé ça fonctionne parfaitement

Savez vous comment faire pour sauvegarder automatiquement avant la fermeture (après avoir cliqué sur Oui)

merci

Salut le forum

'Enregistre les modifications du fichier contenant la macro
ThisWorkbook.Save

Mytå

Bonjour j'aurais une dernière question

Je ne sais pas où je dois insérrer "ThisWorkbook.Save" dans mon code pour qu'il m'enregistre le document avant de le fermer.

Merci

Bonjour

A tester dans ce code

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  If MsgBox("Avez-vous rempli le formulaire de satisfaction", vbQuestion + vbYesNo) <> vbYes Then
    Cancel = True
    ' Affichage de ton formulaire
   Sheets("Sheet2").Select
Else
'Enregistre les modifications du fichier contenant la macro
ThisWorkbook.Save
  End If
End Sub

Super, merci ça fonctionne parfaitement.

Rechercher des sujets similaires à "messagebox choix"