Re : Alerte d'excel vers Outlook - difficulté de creer la Macro
Bonjour il reste à adapter à ton besoin (bonne colonne, bonne ligne, bon nom d'onglet), vu que tu n'as pas mis de fichier exemple :
Sub AjoutRV()
Dim DLig As Long, Lig As Long
Dim OutObj As Object, OutAppt As Object
Dim DateRdv As Date, FlgRdv As Boolean
' Créer une instance d'Outlook
Set OutObj = CreateObject("outlook.application")
' Avec la feuille
With Sheets("Suivi")
DLig = .Range("A" & Rows.Count).End(xlUp).Row
' Pour chaque ligne
For Lig = 2 To DLig
' Si une date de relance existe
If .Range("B" & Lig) <> "" Then
' Si un RDV n'a pas déjà été créé
If .Range("D" & Lig) <> "" Then
' Si le commentaire à changé
If .Range("D" & Lig).Comment.Text <> .Range("C" & Lig).Value Then
FlgRdv = True
Else
' Sinon le commentaire n'a pas changé = pas de RDV
FlgRdv = False
End If
Else
' Sinon, pas de RDV déjà créé
FlgRdv = True
End If
Else
' Sinon, pas de date de relance
FlgRdv = False
End If
' Si le FLAG est à vrai on créé le RDV
If FlgRdv Then
DateRdv = Range("B" & Lig)
Set OutAppt = OutObj.CreateItem(1)
With OutAppt
.Subject = "Rappeler " & Sheets("???????").Range("A" & Lig) & " pour " & Sheets("?????").Range("C" & Lig)
.Start = DateRdv & " 08:00"
.Duration = 60
.ReminderSet = True
.Save
End With
' Créer le commentaire et inscrire Oui
On Error Resume Next
.Range("D" & Lig).Comment.Delete
.Range("D" & Lig).AddComment Text:=.Range("C" & Lig).Value
.Range("D" & Lig) = "Oui"
On Error GoTo 0
End If
Next Lig
End With
Set OutAppt = Nothing
End Sub