Fermeture automatique d'un fichier sur réseau

gillmo

XLDnaute Occasionnel
bonjour à tous,

je sais que le sujet a été abordé plusieurs fois ici ou sur d'autres sites, mais je n'arrive pas à mes fins malgré l'utilisation de codes existants.

Mon fichier se trouve sur le réseau de mon entreprise, et j'ai à l'intérieur des userforms pour saisie de données. Ce que j'aimerai, c'est de pouvoir fermer le fichier sans enregistrer si il n'y a aucune activité sur les userforms ou sur les feuilles.

J'ai trouvé un code sur ce forum que j'ai positionné sur un classeur vierge

dans thisworkbook

PHP:
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
SupprimeInterruption
End Sub
 
Private Sub Workbook_Open()
  Programmation
End Sub
 
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
  ThisWorkbook.Names("Chrono").Value = 1
End Sub

En module
PHP:
Option Explicit
Option Private Module
Const Delai = 10
 
Sub Programmation()
Dim Heure As Date
  Heure = Now + TimeValue("00:00:" & Delai)
  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).Evaluate("Chrono") = 0 Then
      .Save
      .Close
    Else
      Programmation
    End If
  End With
End Sub

Sub SupprimeInterruption()
Dim Heure As Date
 On Error Resume Next
Heure = ThisWorkbook.Sheets(1).Evaluate("ChronoTime")
Application.OnTime Heure, "Interruption", schedule:=False
End Sub

Ce code fonctionne parfaitement bien si j'enregistre le fichier sur mon disque dur, par contre si j'enregistre sur le réseau de l'entreprise, j'ai une erreur qui est la méthode ontime de l'application a échouée.

comment puis je contourner le problème, et gérer l'inactivité sur les userforms et les feuilles.

j’espère avoir été suffisamment clair.

merci d'avance.
 

Discussions similaires

Statistiques des forums

Discussions
314 663
Messages
2 111 656
Membres
111 250
dernier inscrit
alinber