Fermeture automatique d'un fichier Excell

bull_0125

XLDnaute Nouveau
Bonjour,

J'ai trouvé un code qui me sert a fermer mon fichier automatiquement au bout de 10 minutes d'inactivitées mais le problème est que mes utilisateurs utilise un formulaire pour ses saisies et parfois mon fichier se ferme avant qu'il ai finit leurs saisies car le fichier Excel est resté inactif durant 10 min, comment je pourrai inclure les formulaires dans la clause de inactivité ?
-------------------
** Voici mon code dans ThisWorkBook**
-------------------
Code:
Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  ' Avant la fermeture on stop le timer, pour éviter réouverture intempestive
  Call StopTimer
End Sub

Private Sub Workbook_Open()
  ' Lancer le timer de fermeture automatique
  Call StartTimer
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  ' Modification effectuée dans le classeur
  ' On lance un nouveau timer
  ' **************************
  Call StopTimer: Call StartTimer
End Sub
-------------------
** Voici mon code dans une macro**
-------------------
Code:
Option Explicit
Public RunWhen As Date

Sub FermerWbk()
  ThisWorkbook.Close SaveChanges:=vbYes
End Sub

Sub StartTimer()
  ' Lancer un nouveau un timer
  RunWhen = Now + TimeValue("00:05:00")
  Application.OnTime RunWhen, "FermerWbk"
End Sub

Sub StopTimer()
  On Error Resume Next
  ' Stoppe la procédure dans le délai
  Application.OnTime EarliestTime:=RunWhen, Procedure:="FermerWbk", Schedule:=False
  On Error GoTo 0
End Sub

Si quelqu'un pourrait m'aider ca serait très sympa merciiiii !!
Bull_0125
 

Pierrot93

XLDnaute Barbatruc
Re : Fermeture automatique d'un fichier Excell

Re,

sans doute lieu également d'utiliser l'événement "QueryClose" de l'usf
Code:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Call StartTimer
End Sub
 

Discussions similaires