Excel ferme toutes les fenêtre sur Workbooks(Classeur1.xlsm

Petit souci: avec le code qui suit, à Workbooks("Classeur1.xlsm").Close SaveChanges:=False ferme Excel et tous les fichiers qui sont ouverts. Merci de m'aider. (marche bien si seulement ce fichier d'ouvert mais ferme tous les fichiers xls ouverts et quitte excel)

Dan

CODE complet:

Public changed As Boolean

Public quitwithoutsave As Boolean

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

If ActiveWorkbook.Saved = False Then

changed = True

Else

MsgBox "Non"

End If

End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Application.DisplayAlerts = False

If quitwithoutsave = False Then

If ActiveWorkbook.Saved = False Then

If MsgBox("Do you want to save and exit?", vbYesNo) = vbYes Then

ThisWorkbook.Save

SendMail2

Else

If changed = True Then

SendMail2

End If

End If

Else

If changed = True Then

SendMail2

End If

End If

quitwithoutsave = True

Workbooks("Classeur1.xlsm").Close SaveChanges:=False

Application.DisplayAlerts = True

End If

End Sub

Private Sub SendMail2()

Dim path As String

'Application.DisplayAlerts = False

path = "G:\DPEIT-DGIC-DR-Gestion\Horaire de prestation de service\Horaire de Prestation de Service à la DR.xlsx"

'filename = "Rapport incidents et problèmes du " & Format(datedujour, "dd.mm.yyyy hh.mm") & ".xlsx"

Email_Send_To = "daniel.bussieres@cspq.gouv.qc.ca"

'Email_Cc = "patrick.ricaud@cspq.gouv.qc.ca"

Email_Bcc = ""

Email_Subject = "Modification dans le fichier Horaire de Prestation de Service à la DR"

Email_Body = "SVP prendre connaissance du ducument joint."

Set Mail_Object = CreateObject("Outlook.Application")

Set Mail_Single = Mail_Object.CreateItem(0)

With Mail_Single

.Subject = Email_Subject

.To = Email_Send_To

.cc = Email_Cc

.BCC = Email_Bcc

.Body = Email_Body

.Attachments.Add path

.Send

End With

Set Mail_Object = Nothing

Set Mail_Single = Nothing

'ActiveWorkbook.Close savechanges:=True

'Application.DisplayAlerts = False

End Sub

Bonjour et

Je ne comprends pas très bien ce que tu veux faire dans ta procédure

 Workbook_BeforeClose()

A+

C'est simple: je veux vérifier avant de fermer s'il y a eu des changements dans le fichier depuis son ouverture (même si la personne l'a sauvé en cliquant sur la disquette). S'il y a eu des changement : envoi de courriel; si non, pas de sauvegarde et pas de courriel.

Merci

Dan

Rechercher des sujets similaires à "ferme toutes fenetre workbooks classeur1 xlsm"