Erreur dans ma macro suite a l'instalation d'un compte à rebours (On Time)

remes

XLDnaute Junior
Bonjour le forum,

Je me permets d'exposé mon problème après avoir cherché sans succès si une discussion traitait de ce problème qui à mon petit niveau est incompréhensible.

Arrivé au terme d'un fichier qui doit être utilisé sur plusieurs PC via un disque dur commun je souhaite faire en sorte que le fichier se ferme au bout d'un temps à définir (1mn pour le test).
Voici comment j'ai fait




1)
Private Sub Workbook_Open()



HeureFermeture = Now + TimeValue("00:1:00")
Application.OnTime HeureFermeture, "FermeClasseur"


End Sub

__________________________________________
2)
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Application.DisplayFullScreen = False
Call FermeClasseur
Application.OnTime EarliestTime:=HeureFermeture, Procedure:="fermeClasseur", Schedule:=False

End Sub
______________________________________________
3)
Sub FermeClasseur(Optional factice As String)
'
' Macro enregistrée le 23/05/2013 par rémi
'


Application.Run "deproteger"
Columns("W:AH").Select
Selection.Locked = True "C'EST ICI QUE CA BLOQUE AU DEBOGAGE"
Selection.FormulaHidden = True
Range("W8:AH8").Select
Selection.Locked = False
Selection.FormulaHidden = False
Application.Run "proteger"
Application.Run "prottoutetplacecursseur"

' sauvegarde tout les fichiers ouverts avant de fermer Excel
Dim w As Workbook
For Each w In Application.Workbooks
w.Save
Next w
Application.Quit

End Sub
____________________________________________________________________________

Mon problème intervient au bout de 1 mn quand cela se ferme automatiquement. Ca bloque dans ma macro "FermeClasseur" à l'endroit ou je l'ai noté.
Ce que je trouve "étrange" c'est que quand je ferme le fichier avec la croix le processus est le même et pour tant là ça fonctionne, la macro "FermeClasseur" s'exécute bien.

Première question:

Le code que j'ai mi dans "before close" que veut il dire exactement? Moi je comprends qu'il arrête le compte à rebours et active la macro FermeClasseur. Est ce bien cela?

Deuxième question:
Comprenez vous quelque chose à mon problème et y t-il une solution?

Merci beaucoup déjà de vous être donné la peine de lire mon explication laborieuse et d'avance merci.
 

jpb388

XLDnaute Accro
Re : Erreur dans ma macro suite a l'instalation d'un compte à rebours (On Time)

Bonsoir le forum
peux tu essayer comme ça

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)

 Application.DisplayFullScreen = False
 Application.OnTime EarliestTime:=HeureFermeture, Procedure:="fermeClasseur", Schedule:=False
 Call FermeClasseur

 End Sub
 

remes

XLDnaute Junior
Re : Erreur dans ma macro suite a l'instalation d'un compte à rebours (On Time)

Bonsoir le forum
peux tu essayer comme ça

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)

 Application.DisplayFullScreen = False
 Application.OnTime EarliestTime:=HeureFermeture, Procedure:="fermeClasseur", Schedule:=False
 Call FermeClasseur

 End Sub

Bonjour
Seul il ne fonctionne pas mais ajouté au mien ca fonctionne. je ne comprends pas c'est un peu ennuyeux et je ne sais pas si on peu dire: "resolu" mais ca règle mon problème. Je te remercie beaucoup et merci à tous ceux qui sont venus.
Voici donc le code

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayFullScreen = False
Call FermeClasseur
Application.OnTime EarliestTime:=HeureFermeture, Procedure:="fermeClasseur", Schedule:=False

Application.DisplayFullScreen = False
Application.OnTime EarliestTime:=HeureFermeture, Procedure:="fermeClasseur", Schedule:=False
Call FermeClasseur


End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 088
Messages
2 085 203
Membres
102 818
dernier inscrit
NeoMaint