Mon classeur s'ouvre automatiquement à 8h45, se met à jour automatiquement et s'imprime aussi automatiquement. Je voudrais qu'il se ferme tout seul également. Est-ce que cette macro peut me permettre de fermer mon classeur en l'enregistrant juste avant ?
Meri d'avance.
Hélène
Dans un module:
Public HeureFermeture
Sub FermeClasseur()
ActiveWorkbook.Close True
End Sub
Dans thisWorkbook:
Private Sub Workbook_Open()
HeureFermeture = Now + TimeValue("00:09:00")
Application.OnTime HeureFermeture, "FermeClasseur"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnTime EarliestTime:=HeureFermeture, Procedure:="fermeClasseur", Schedule:=False
End Sub
si l'activeworkbook est bien celui qu'il faut fermer ça doit fonctionner
sinon dans le module mettre
thisworkbook.close
et dans le thisworkbook il n'y a pas besoin du code se trouvant dans le before
mais il faut y mettre
thisworkbook.save
__________________________
PS: VBA pour EXCEL est maintenant dans Bureautique
merci de poser vos questions VBA à cet endroit
salutations
RGI
Un MERCI en retour c'est sympa
et ne pas oublier le tag :après résolution.
J'ai une erreur sur la ligne :
Application.OnTime EarliestTime:=HeureFermeture,Procedure:="fermeClasseur", Schedule:=False
Quand je mets ma souris dessus, ca m'écrit "Procedure vide".
(AU passage, "fermeclasseur" c'est bien le nom de ma macro ?).
En modifiant, ça reviendrait à ceci ? :
Public HeureFermeture
Sub FermeClasseur()
This Workbook.Close
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
thisworkbook.save
End Sub
---
Par contre, je ne comprends pas trop "si l'activeworkbook est bien celui qu'il faut fermer ça doit fonctionner". Si j n'ai qu'un classeur d'ouvert ça devrait marcher non ?
veltins dit : Par contre, je ne comprends pas trop "si l'activeworkbook est bien celui qu'il faut fermer ça doit fonctionner". Si j n'ai qu'un classeur d'ouvert ça devrait marcher non ?
oui
faire l'essai pour t'en convaincre
__________________________
PS: VBA pour EXCEL est maintenant dans Bureautique
merci de poser vos questions VBA à cet endroit
salutations
RGI
Un MERCI en retour c'est sympa
et ne pas oublier le tag :après résolution.