Macro impression automatique à un jour et une heure donnée sur Excel
pascojulien
Messages postés2Date d'inscriptionvendredi 1 février 2008StatutMembreDernière intervention17 avril 2008
-
16 avril 2008 à 00:43
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
17 avril 2008 à 23:44
Bonjour,
J'ai crée un fichier Excel, et j'aimerai que celui-ci s'imprime automatiquement tout les lundi à 10H je pense que l'on peut faire sa pas la mise en place d'une macro, mais je ne sais pas du tout comment faire cette macro est ce que quelqu'un peut m'aider?
Voici le code: mais pour lancer une impression à une heure donnée
Sub ProgrammeLaMacroTime()
' lance MacroImpression à 10h00 heures
Application.OnTime TimeValue("10:00:00"), "MacroImpression", , True
End Sub
Sub MacroImpression()
'cette macro imprime la feuille Feuil1
ThisWorkbook.Sheets("Feuil1").PrintOut
End Sub
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 16 avril 2008 à 11:41
Si tu utilises ce genre de macro, ça implique que ton fichier doit toujours rester ouvert. Il me semble que le mieux serait de passer par une tâche planifiée dans Windows. Et tu mets ton code d'impression dans Workbook_Open()
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
pascojulien
Messages postés2Date d'inscriptionvendredi 1 février 2008StatutMembreDernière intervention17 avril 2008 17 avril 2008 à 17:59
Merci pour ton aide donc si j'ai bien compris il faut que je fasse ça?
Workbook_Open(
Sub ProgrammeLaMacroTime()
' lance MacroImpression à 10h00 heures
Application.OnTime TimeValue("10:00:00"), "MacroImpression", , True
End Sub
Sub MacroImpression()
'cette macro imprime la feuille Feuil1
ThisWorkbook.Sheets("Feuil1").PrintOut
End Sub)
Par contre, le fichier ne sera pas forcémment ouvert... comment faire pour "Il me semble que le mieux serait de passer par une tâche planifiée dans Windows"
Et comment faire pour que cela s'imprime tout les lundi? est ce possible en passant par une tache planifiée?
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 17 avril 2008 à 23:44
Ben, en fait il te suffit d'appeler ta procédure MacroImpression à l'intérieur de l'événement Workbook_Open qui se situe dans ThisWorkbook. Une fois l'impression faite, tu fermes l'application Excel. Ça devrait ressembler à quelque chose comme:
Private Sub Workbook_Open()
MacroImpression ' ou Call MacroImpression ()
Application.Quit 'pour fermer Excel une fois terminé
End Sub
Et tu places ta macro MacroImpression dans un module et la déclares en Public pour qu'elle soit reconnue dans ThisWorkbook.
Tu pourrais aussi jouer avec Application.Visible pour ne pas afficher Excel si ça cause un problème... Mais attend de voir si ça fonctionne sans ça... Il risque tout de même d'y avoir un genre de "flash" qui affiche puis cache Excel.
Private Sub Workbook_Open()
Application.Visible = False
MacroImpression
Application.Visible = True
Application.Quit
End Sub
Je n'ai pas testé, par contre...
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI