Bonjour
Cette macro événementielle ne semble pas fonctionner correctement.
J'ai l'impression que le compte à rebours se déclenche qu'il n'y ai ou pas d'activité dans le fichier.
Le code serait-il incomplet?
Merci
Code dans le Workbook
Private Sub Workbook_Open()
Arrêt = False: Laps = Timer
'Le temps pendant lequel le fichier n'est pas activé
'Heures:Minutes:Secondes
' à ajuster ici c'est réglé sur 05 minutes !
Durée = TimeValue("00:05:00")
Départ
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
'Remarque : cette macro événementielle détecte les clics dans une cellule du classeur.
'Vous pouvez bien entendu utiliser un autre événement pour décider qu'un classeur est inactif
'Pas de clic dans une cellule donnée, pas de saisie dans un userform, pas de changement de feuille...
Arrêt = True
Laps = Timer
End Sub
Code dans un module
Option Explicit
Public Durée As Date
Public Arrêt As Boolean
Public Laps As Double
Sub Départ()
Dim D As Date
D = Now + TimeValue(Durée)
Application.OnTime D, "FermerLeClasseur"
Durée = TimeValue("00:05:00")
End Sub
Sub FermerLeClasseur()
Dim M As Integer
Dim S As Integer
Dim R
If Arrêt = False Then
'Ferme et enregistre le classeur.
ThisWorkbook.Close True
Else
Laps = Timer - Laps
M = Int(Laps / 60)
S = Int(Laps - M * 60)
R = TimeValue("00:" & M & ":" & S)
Durée = TimeValue(Durée) - R
Arrêt = False
Départ
End If
End Sub