Bonjour bmxrider et Nad-Dan,
voici un petit code avec le OnTime
place ceci dans un module:
Dim HeureProgrammer As Double
Public Sub FermetureAuto()
ActiveWorkbook.Close SaveChanges:=True
Application.Quit
'S'il y a plusieurs classeurs d'ouvert sur la même instance d'excel, il vont tous se fermer
'Pour fermer uniquement le classeur actif, garde seulement la première ligne
'Par contre excel va rester ouvert... a toi de voir
End Sub
Sub StartTimer()
'Lance le timer une première fois
HeureProgrammer = Now + TimeValue("00:00:10")
Application.OnTime HeureProgrammer, "ExecutionTimer"
End Sub
Public Sub ExecutionTimer()
'Place ici le code à effectuer
FermetureAuto
End Sub
Public Sub ReiniTimer()
'Arrete le timer
Application.OnTime EarliestTime:=HeureProgrammer, Procedure:="ExecutionTimer", Schedule:=False
'Le relance avec un nouvelle heure
HeureProgrammer = Now + TimeValue("00:00:04")
Application.OnTime HeureProgrammer, "ExecutionTimer"
End Sub
et ceci dans ThisWorkbook
Private Sub Workbook_Open()
StartTimer
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
ReiniTimer
End Sub
qu'est ce que tu veux faire au juste après 5min d'inactivité? Retour à une feuille précise ou sauvegarde et fermeture du classeur?
bonne journée et si tu as des questions sur le code hésite pas