Avoir une macro qui tourne chaque jour à la même heure

Je n'arrive pas à trouver de code qui puisse faire tourner une macro différente chaque jour de la semaine mais à la même heure à chaque fois, de plus lorsque je pense enfin trouver quelque chose un nouveau souci se pose. J'extrais des données à partir de SAP qui ouvrent un nouveau classeur excel, je copie ces données vers leur destination automatiquement, et pour pouvoir réextraire il faut que ce nouveau classeur soit fermé. Or certaines fois il se ferme avec le code suivant

Workbooks("prev lundi").Activate
Workbooks("prev lundi").Close SaveChanges:=True

et d'autres fois le classeur n'est pas détecté par la macro, quelqu'un saurait il répondre à ma problématique ou au moins m'orienter?

Bonjour,

Avec 2 lignes de code piochées on ne sait ou, il me semble douteux que quelqu'un te donne une réponse...

Workbooks("prev lundi").Activate 'on ne voit pas à quoi ça pourrait bien servir !

Workbooks("prev lundi").Close SaveChanges:=True 'Pas étonnant qu'il se ferme !

A+

Bonjour,

Dans le module ThisWorkbook :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.OnTime Heure, "Sauv", , False
End Sub

Private Sub Workbook_Open()
    'règle l'heure
    Heure = Date + TimeValue("12:00:00")
    Application.OnTime Heure, "Sauv"
End Sub

Dans ce code, l'heure est réglée à midi.

Dans un module :

Public Heure As Date
Sub Sauv()
  Select Case Weekday(Date, 2)
    Case 1: macro1 'macro du lundi
    Case 2: macro2 'macro du mardi
  End Select
End Sub

Pour le lundi et le mardi. il faut ajouter les autres jours et écrire les macros pour chaque jour.

Daniel

Rechercher des sujets similaires à "macro qui tourne chaque jour meme heure"