Alerte email automatique selon échéancier prédéfini
Bonjour le Forum,
Complètement novice dans le domaine et en train de monter un projet, je cherche à programmer des alertes automatiques reçues sur une boite email, calquées sur des deadlines dans un fichier Excel. J'ai des jalons/deadlines prédéfinies dans la colonne D et je voudrais que, à l'ouverture du fichier, la macro envoi une alerte par email. Pour le moment, j'ai réussi à le faire mais je reçois 3 emails pour la tâche 1 et 2 emails pour la tâche 2... Si quelqu'un peut me dire ce qui cloche dans ma ligne de commande afin de recevoir seulement 1 email par tâche. En vous remerciant par avance
Sub Auto_Open()
Dim C As Range, olApp As Object, M As Object
Set olApp = CreateObject("Outlook.application")
Set M = olApp.CreateItem(olMailItem)
For Each C In Range("D2", Cells(Rows.Count, 4).End(xlUp))
If C >= Date Then
If C - Date <= 1 Then
Set M = olApp.CreateItem(olMailItem)
With M
.Subject = "Rappel Tache 1"
.Recipients.Add "emailadress"
.Send
' .display
End With
End If
Set M = Nothing
End If
Next C
For Each C In Range("D3", Cells(Rows.Count, 4).End(xlUp))
If C >= Date Then
If C - Date <= 2 Then
Set M = olApp.CreateItem(olMailItem)
With M
.Subject = "Rappel Tache 2"
.Recipients.Add "emailadress"
.Send
' .display
End With
End If
Set M = Nothing
End If
Next C
Set olApp = Nothing
End Sub
Bonjour,
Il y a un truc vraiment bizarre dans ce que tu veux faire
Tu sembles confondre délai de retard et numéro de la tâche !?
Franchement, c'est incompréhensible....
Sinon tu passe 2 fois sur les mêmes lignes à part pour la première
' De la cellule D2 à la dernière
For Each C In Range("D2", Cells(Rows.Count, 4).End(xlUp))
' De la cellule D3 à la dernière
For Each C In Range("D3", Cells(Rows.Count, 4).End(xlUp))A+