Programmation envoie mail auto jours férié

bonjour à tous,

petit soucis pointu...

j'ai créé un mail auto (mail_PJ), qui s'envoie tous les lundis à l'ouverture du fichier.

2 pb:

si j'ouvre le fichier 10 fois, il envoie 10 mails. peut on mettre un count pour qu'1 seul mail ne parte?

si le lundi est férié (fichier non ouvert, PC eteint), comment le faire partir le lendemain?

si je mets le fichier sur un serveur, est-on obligé d'avoir le PC ouvert pour le faire partir?

pour info, j'ai une liste_férie dans le gestionnaire de noms.

en vous remerciant

Bjr,

si j'ouvre le fichier 10 fois, il envoie 10 mails. peut on mettre un count pour qu'1 seul mail ne parte?

si le lundi est férié (fichier non ouvert, PC eteint), comment le faire partir le lendemain?

à tester, dans Private Sub workbook_open()

Dim rngSearch As Range, found As Range
    Set rngSearch = Sheets("données").Range("D:D")
    Set found = rngSearch.Find(What:=Date, _
                               LookIn:=xlValues, _
                               LookAt:=xlWhole, _
                               SearchOrder:=xlByRows, _
                               SearchDirection:=xlNext, _
                               MatchCase:=False)
    If Not found Is Nothing Then
        If Weekday(Date, vbMonday) = 2 And Sheets("exemple").Range("A1") <> Sheets("exemple").Range("A2") Then       'envoie le jour 2 de la semaine (mardi)
            Sheets("exemple").Range("A1") = Date
            EnvoiMailRelance
        End If
    Else
        If Weekday(Date, vbMonday) = 1 And Sheets("exemple").Range("A1") <> Sheets("exemple").Range("A2") Then       'envoie le jour 1 de la semaine (lundi)
            Sheets("exemple").Range("A1") = Date
            EnvoiMailRelance
        End If
    End If

si je mets le fichier sur un serveur, est-on obligé d'avoir le PC ouvert pour le faire partir?

OUI, ouvert sur le fichier excel

salut steelson,

merci pour ton code, mais je pige pas tout...

on ouvre pas le fichier le lundi 01/01/

on va l'ouvrir le mardi 02/01

recherche du 02/01 = no found

donc

If Weekday(Date, vbMonday) = 1 And Sheets("exemple").Range("A1") <> Sheets("exemple").Range("A2") Then       'envoie le jour 1 de la semaine (lundi)
            Sheets("exemple").Range("A1") = Date
            EnvoiMailRelance
        End If

le mail ne part pas puisqu'on est mardi

mais du coup^, je pense qu'on peut faire plus simple, genre si A2-A1>7 (jours), envoi mail...!

ca allége le code puisqu'il n'y a plus de recherche de férie.

merci bcp!

Hello

j'avais pourtant ajouté

If Weekday(Date, vbMonday) = 2

néanmoins ta solution est meilleure

je te conseille de mettre >= 6 de façon à ne pas faire perdurer le mardi exceptionnel

Rechercher des sujets similaires à "programmation envoie mail auto jours ferie"