Menu

Execution d'une macro 1 fois par semaine [Résolu/Fermé]

Pyrisis 9 Messages postés mercredi 10 mai 2017Date d'inscription 15 mai 2017 Dernière intervention - 10 mai 2017 à 15:51 - Dernière réponse : Pyrisis 9 Messages postés mercredi 10 mai 2017Date d'inscription 15 mai 2017 Dernière intervention
- 15 mai 2017 à 11:06
Bonjour,

J'ai fais une macro qui envoie un mail selon un tableau, seulement j'aimerai que les mail soit envoyer 1 fois par semaine et non a chaque fois que l'on ouvre le fichier.
Comment pourrait-je faire

Ps: le document est disponible sur un serveur il faut donc que cela marche de n'importe quel ordinateur.

Merci d'avance
Afficher la suite 

6 réponses

yg_be 5521 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 17 mai 2018 Dernière intervention - 10 mai 2017 à 19:15
+1
Utile
bonsoir, je te suggère d'enregistrer dans le fichier le moment où la macro travaille, donc de faire ainsi:
1) quand la macro commence à travailler, elle vérifie que le moment enregistré est plus récent qu'une semaine, sinon la macro ne fait rien
2) si le moment enregistré est plus ancien qu'une semaine, la macro remplace ce moment par maintenant, puis fait son travail habituel
qu'en pense-tu?
Cette réponse vous a-t-elle aidé ?  
Pyrisis 9 Messages postés mercredi 10 mai 2017Date d'inscription 15 mai 2017 Dernière intervention - 11 mai 2017 à 08:47
0
Utile
Bonjour, Cette solution me parait tous a fait satisfaisante.
Mais comment pourrais-je faire pour que la macro vérifie que l'enregistrement date de moins d'une semaine?
yg_be 5521 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 17 mai 2018 Dernière intervention - 11 mai 2017 à 09:06
Travailles-tu dans Excel? Ta macro est-elle écrite en VBA?
Pyrisis 9 Messages postés mercredi 10 mai 2017Date d'inscription 15 mai 2017 Dernière intervention > yg_be 5521 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 17 mai 2018 Dernière intervention - 11 mai 2017 à 09:07
Oui je travaille sur excel et ma macro est écrite en vba
yg_be 5521 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 17 mai 2018 Dernière intervention > Pyrisis 9 Messages postés mercredi 10 mai 2017Date d'inscription 15 mai 2017 Dernière intervention - 11 mai 2017 à 16:16
par exemple:
Sub test()
Dim dernierboulot As Date
dernierboulot = Cells(7, 2).Value
If dernierboulot > Now() - 7 Then
    Debug.Print "rien à faire"
Else
    Debug.Print "au travail"
    Cells(7, 2).Value = Now()
End If

End Sub
Pyrisis 9 Messages postés mercredi 10 mai 2017Date d'inscription 15 mai 2017 Dernière intervention - 15 mai 2017 à 11:06
Merci beaucoup ça marche !!!!
merci merci merci