stann29
Messages postés18Date d'inscriptionmercredi 26 novembre 2008StatutMembreDernière intervention20 octobre 2013
-
13 févr. 2009 à 12:57
c148270
Messages postés303Date d'inscriptionmercredi 12 janvier 2005StatutMembreDernière intervention 3 octobre 2013
-
15 févr. 2009 à 03:29
bonjour,
j'ai un fichier excel avec un compte à rebours pour qu'il se ferme automatiquement si inactif. Seulement j'ai d'autres fichiers en cours d'utilisation et excel réouvre le fichier en question, ci-joint le code. par contre tout seul, çà marche.
Quelqu'un peut-il me dire doit viens l'erreur?
merci d'avance
stann
Option Explicit
Declare Function GetTickCount Lib "Kernel32" () As Long ' pour userform compte a rebours
Option Private Module
'Delai est le temps d'inactivité maxi en minutes
Const Delai = 1
Sub Programmation()
Dim Heure As Date
Heure = Now + TimeValue("00:" & Delai & ":00")
'on sauvegarde l'heure de la dernière programmation pour éventuellement
'pouvoir la supprimer à la fermeture du fichier
ThisWorkbook.Names.Add Name:="ChronoTime", RefersTo:=Heure
ThisWorkbook.Names.Add Name:="Chrono", RefersTo:=0
Application.OnTime Heure, "Interruption"
End Sub
Private Sub Interruption()
With ThisWorkbook
If .Sheets(1).[Chrono] = 0 Then
'If .Sheets(1).Evaluate("Chrono") = 0 Then
'.Save ( je fais pas de save, je close direct)
UserForm2.Show
'ActiveWorkBook.DisplayAlerts = False
'ThisWorkBook.Close
Else
Programmation
End If
End With
End Sub
Sub SupprimeInterruption()
'supprime le timer à la fermeture du fichier, s'il ne l'est pas déjà.
'Sinon le fichier risque de se rouvrir tout seul !
Dim Heure As Date
On Error Resume Next
Heure = ThisWorkbook.Sheets(1).Evaluate("ChronoTime")
Application.OnTime Heure, "Interruption", schedule:=False
End Sub