Bonjour,
j'ai un code d'envoi de mail via outlook. qui se déclenche lorsque j'arrive à 2 jours de la fin d'une tache.
j'utilise dans une cellule la fonction Aujourd'hui() et dans une autre j'affiche la date de fin de la tache.
la lettre "A"( comme Alerte) dans une autre cellule s'affiche a 2 jours avant l'échange
Lorsque la lettre "A" apparait, un mail est envoyé.
Si je force la lettre A a s'afficher en jouant avec la date de fin, le mail est envoyé.
Maintenant, si je joue avec la cellule qui contient la fonction Aujourd'hui pour m'approcher de 2 jour de l’échéance: Aucun mail
Si je démarre Excel et que pour une tache, il me reste 2 jours: aucun mail
Pouvez vous me donner votre avis sur le code?
Peut on faire en sorte que lorsque j'ouvre excel, et que la cellule avec la fonction Aujourd'hui approche de 2 jours de la date de fin , un mail soit envoyé?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String
Dim L As Integer
If Target.Column <> 3 And Target.Column <> 9 Then Exit Sub
If Cells(Target.Row, "O") = "A" Then
Set OutApp = CreateObject("Outlook.Application")
If Cells(Target.Row, "O") = A Then
Set OutMail = OutApp.CreateItem(0)
strbody = "Description de la Tache: " & Cells(Target.Row, 4) & vbCrLf & "Priorité de la tache: " & Cells(Target.Row, 5) & vbCrLf _
& "Porteur: " & Cells(Target.Row, 6) & vbCrLf & "Date de fin: " & Cells(Target.Row, 9)
On Error Resume Next
With OutMail
.To = "toto@toto.com"
.CC = ""
.BCC = ""
.Subject = "Avertissement sur Tâche"
.Body = strbody
.Display
Application.SendKeys "%v"
End With
On Error GoTo 0
End If
End If
Set OutMail = Nothing
Set OutApp = Nothing
End Sub