Fermeture d'un dossier

tactic6

XLDnaute Impliqué
Bonjour le forum et tous les autres
pour fermer mon classeur excel j'utilise cette macro
actuellement j'ai deux boutons "OUI" et "NON"
quand je clic sur OUI mon classeur se ferme et enregistre tout le travail effectué
quand je clic sur NON rien ne se passe

J'aimerais y ajouter un 3° bouton " ANNULE" pour y ajouter le code actuel du "NON" et mettre un code sur le "NON" afin qu'excel se ferme sans enregistrer les modifications.
Est-ce possible ?

Merci pour votre aide

Voici mon code:

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Dim Table() As String
Dim w As Workbook
Dim style As Integer
Dim msg As String, title As String, Response As String
msg = "  ATTENTION ceci va quitter et enregistrer le Voulez vous continuer ?"
style = vbYesNo + vbDefaultButton2
title = "Attention!! "
Response = MsgBox(msg, style, title)
If Response = vbYes Then
'ThisWorkbook.Save
'Application.DisplayAlerts = False
'ThisWorkbook.Close
Application.DisplayAlerts = False
Application.ScreenUpdating = True

For Each w In Application.Workbooks
w.Save
Next w
Application.Quit

End If
Application.DisplayAlerts = False
End Sub
 

Catrice

XLDnaute Barbatruc
Re : Fermeture d'un dossier

Bonjour,

Je crois que le code ci-dessous permet de faire ce que tu souhaites.

Sub Test()
MonTest = MsgBox("Vous allez fermer le fichier !" & Chr$(10) & "Cliquer Oui pour enregistrer" & Chr$(10) & "Cliquer Non pour ne pas enregistrer", vbYesNoCancel)
Select Case MonTest
Case vbYes
ActiveWorkbook.Close SaveChanges:=True
Case vbNo
ActiveWorkbook.Close SaveChanges:=False
Case vbCancel 'Facultatif
Exit Sub 'Facultatif
End Select
End Sub

Voir fichier joint.
 

Pièces jointes

  • Classeur1.xls
    24 KB · Affichages: 69
  • Classeur1.xls
    24 KB · Affichages: 68
  • Classeur1.xls
    24 KB · Affichages: 70
Dernière édition:

tactic6

XLDnaute Impliqué
Re : Fermeture d'un dossier

super ça marche tres bien
encore un petit truc stp
si il y a 2 classeur excel ouvert celui ci se ferme correctement
si il est tout seul il me reste une page excel a la fermeture
est il possible de fermer entièrement excel si seulement un classeur est ouvert
et de fermer uniquement le classeur concerner si plusieurs sont ouvert ?
quoi qu'il en soit c'est super
 

Catrice

XLDnaute Barbatruc
Re : Fermeture d'un dossier

Re,

Tu peux essayer ceci :

Sub Test()
MonTest = MsgBox("Vous allez fermer le fichier !" & Chr$(10) & "Cliquer Oui pour enregistrer" & Chr$(10) & "Cliquer Non pour ne pas enregistrer", vbYesNoCancel)
Select Case MonTest
Case vbYes
ActiveWorkbook.Save
If Workbooks.Count = 1 Then Application.Quit Else ActiveWorkbook.Close
Case vbNo
ActiveWorkbook.Saved = True
If Workbooks.Count = 1 Then Application.Quit Else ActiveWorkbook.Close
End Select
End Sub
 
Dernière édition:

Catrice

XLDnaute Barbatruc
Re : Fermeture d'un dossier

Re,

Chez moi il ne demande rien ?!
A quel moment te demande t il qq chose ? Peux tu me donner un step by step que j'essaie de reproduire ?
Reteste le fichier que je joins, j'ai modifié le code.


PS - je suis en XL2002
 

Pièces jointes

  • Classeur1.xls
    24 KB · Affichages: 70
  • Classeur1.xls
    24 KB · Affichages: 67
  • Classeur1.xls
    24 KB · Affichages: 69
Dernière édition:

tactic6

XLDnaute Impliqué
Re : Fermeture d'un dossier

Re
merci encore pour ton aide
sur ton classeur en effet ça marche comme je le souhaitais
mais des que je le mets sur le mien double demande à la fermeture et message d'erreur
Microsoft Office Excel
Erreur définie par l'application ou l'objet
je clic sur Ok et ça se ferme
je dois avoir un code incompatible

c'est pas grave je vais essayer d'approfondir et de comprendre

Amitiés
 

tactic6

XLDnaute Impliqué
Re : Fermeture d'un dossier

Re
oui en effet j'ai une feuille masquée
comment t'as deviné :)

Edit
même sans feuille masquée double demande à la fermeture
une précision quand même j'ai un bandeau personnalisé dans lequel j'y ai inséré un bouton qui a ton code
dans this workbook je l'ai mis aussi et quand j'utilise la croix d'excel pour fermer mon classeur ça marche très très bien
le message d'erreur n'apparait que si j'ai 2 classeurs d'ouvert
 
Dernière édition:

tactic6

XLDnaute Impliqué
Re : Fermeture d'un dossier

Re
la fermeture par la croix d'excel remplissant toutes les conditions le bouton dans ma barre perso ne me sert plus a rien
donc un grand merci mon problème est donc résolu (par contournement)
Bonne soirée à tous
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 069
Messages
2 085 037
Membres
102 763
dernier inscrit
NICO26