Réouverture excel après compte à rebours

Résolu
stann29 Messages postés 18 Date d'inscription mercredi 26 novembre 2008 Statut Membre Dernière intervention 20 octobre 2013 - 13 févr. 2009 à 12:57
c148270 Messages postés 303 Date d'inscription mercredi 12 janvier 2005 Statut Membre Derniè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

Sub Test()
UserForm2.Show
End Sub

UserForm2.Show
End Sub

1 réponse

c148270 Messages postés 303 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 3 octobre 2013 1
15 févr. 2009 à 03:29
Bonjour


Ne l'ayant pas j'ai mis mis l'appel du  userform en commentaire.

Dans interruption j'ai réactivé
      ActiveWorkBook.DisplayAlerts = False
      ThisWorkBook.Close

Juste avant le close j'ai inseré
   SupprimeInterruption

je n'ai pas eu de réouverture et mon autre classeur est resté ouvert.

Bonne journée
0
Rejoignez-nous