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.
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.