Salut STéphane, JV, le Forum,
On avait eu la même question par Christophe sur le Forum... Ti m'avait repris pour trouver la solution...
Dans le Private Module de ThisWorkBook
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ScheduleOff
End Sub
Private Sub Workbook_Open()
Timing
End Sub
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
LastChange = Now
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
LastChange = Now
End Sub
Dans un Module Standard
Option Explicit
Option Private Module
'@+Thierry et Ti 27-12-02
Public LastChange
Dim Fin
Sub Timing(Optional Heure)
If IsMissing(Heure) Then Heure = Now
Fin = Heure + TimeValue("00:15:05")
Application.OnTime Fin, "Alerte"
End Sub
Sub Alerte()
Dim DiffTime
DiffTime = Now - LastChange
If Minute(DiffTime) = 15 Then
'MsgBox "veuillez sauver et quitter l'application"
'Application.OnTime Now + TimeValue("00:00:10"), "Quitte"
Quitte
Else
Timing LastChange
End If
End Sub
Sub ScheduleOff()
On Error Resume Next
Application.OnTime EarliestTime:=Fin, Procedure:="Alerte", _
LatestTime:=Fin + TimeValue("00:00:01"), schedule:=False
On Error GoTo 0
End Sub
Private Sub Quitte()
ThisWorkbook.Close True
End Sub
Si celà peut te servir...
Bon Aprèm
@+Thierry