1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
| Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim w As Workbook
Sheets("Feuil6").Select
Range("B1").Select
Application.Calculation = xlManual
Sheets("Feuil1").Select
Range("A65536").End(xlUp).Select
If MsgBox("FERMETURE SIMPLE?", vbYesNo) = vbYes Then
Call EnregistrerAction("FERMETURE SIMPLE")
On Error GoTo Handler
Handler:
On Error Resume Next
Application.OnTime temps, Procedure:="majHeure", Schedule:=False
Workbooks("TIPI0.xlsm").Close True
Exit Sub
Else
EnregistrerAction ("FERMETURE SESSION")
If MsgBox("PAUSE DEJ?", vbYesNo) = vbYes Then
EnregistrerAction ("FERMETURE SESSION DEJEUNE")
ActiveSheet.Unprotect
MsgBox "A tout de suite " & Environ("UserName")
Range("B65536").End(xlUp).Offset(1, 0).Select
ActiveCell.Formula = "=NOW()"
Selection.Copy
Range("B65536").End(xlUp).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
'ThisWorkbook.Save
ActiveSheet.Protect
On Error Resume Next
Application.OnTime temps, Procedure:="majHeure", Schedule:=False
Workbooks("TIPI0.xlsm").Close True
Exit Sub
Else
ActiveSheet.Unprotect
MsgBox "Au revoir " & Environ("UserName")
Range("E65536").End(xlUp).Offset(1, 0).Select
ActiveCell.Formula = "=NOW()"
Selection.Copy
Range("E65536").End(xlUp).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
'ThisWorkbook.Save
ActiveSheet.Protect
On Error Resume Next
Application.OnTime temps, Procedure:="majHeure", Schedule:=False
For Each w In Workbooks
'MsgBox w.Name
Call EnregistrerAction("FERMETURE " & w.Name)
w.Close True
Next w
Workbooks("TIPI0.xlsm").Close True
Exit Sub
End If
End If
End Sub |
Partager