Bonjour Anthonydu31,
En 3 lignes de code VBA, c'est possible avec l'application Excel toujours active (la placer en mode réduite sur la barre de tache par - ).
Avoir simplement un fichier de macros personnelles (PERSONAL.XLSB) . Ce classeur ne contient que des macros souvent exploitées. Voir image ci-dessous.
Sur ce fichier dans un module placer les 2 macros suivantes.
Sub HoraireFich()
'Horaire de lancement du fichier fermé
Application.OnTime "16:45:00", "LanceFich"
End Sub
Sub LanceFich()
'Procédure d'ouverture du fichier cible fermé
Workbooks.Open ("C:\Users\Pseudo\Desktop\ExcelFich\ImagesFormes\forumModif.xlsm")
End Sub
Sur le fichier ciblé insérer auparavant dans la partie Workbook à l'évènement Workbook_BeforeClose
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Pour appeler la macro Horaire du fichier de macros personnelles
Application.Run "PERSONAL.XLSB!HoraireFich"
End Sub
Puis refermer ce fichier. Il peut aussi contenir dans son évènement Worbook_Open toute macro utile au lancement d'autres macros propres à ce fichier.
Changer le terme pseudo par sa propre variable utilisateur et modifier l'horaire de lancement selon besoin. L'ordinateur peut être "bloqué" (touche windows + L) le lancement de la macro s'effectuera quand même à l'horaire prévu. Possibilité aussi de refermer le fichier cible après tous ses traitements macro réalisés.