Bonjour
Voici une macro fonctionnelle chez moi.
Public longueur_tableau As Long
Public ligne As Long
Sub Worksheet_Change(ByVal Target As Range)
longueur_tableau = 2 'la valeur commence à la 2e ligne du tableau
While Range("A" & longueur_tableau) <> "" 'recherche de longeur tant que la cellule A n'est pas vide
longueur_tableau = longueur_tableau + 1 ' longueur de base +1
Wend
For ligne = 2 To longueur_tableau ' longueur prend en compte chaque ligne
If Range("E" & ligne) <> "" And Range("F" & ligne) <> "" And Range("G" & ligne) = "" Then EnvoiMail
Next ligne
End Sub
Sub EnvoiMail()
Set OutApp = CreateObject("outlook.application") 'Ouverture application hotmail
Set Outmail = OutApp.CreateItem(0) 'Ouverture nouveau mail
With Outmail
.To = Range("C" & ligne)
' .CC = Range("B26")
.Subject = Range("D" & ligne)
.Body = "Bonjour, " & Range("B" & ligne) & " " & Range("A" & ligne) & vbCrLf & vbCrLf _
& "je voudrais vous prévenir de " & Range("E" & ligne) & " suite à " & Range("F" & ligne) & "." & vbCrLf & vbCrLf _
& "Merci beaucoup" & vbCrLf & vbCrLf _
& "Cordialement " & vbCrLf
' .Attachments.Add ("rentrée ici le chemin de la pièce jointe")
.Display 'affichage du mail
End With
Range("G" & ligne) = Now
End Sub
J'ai rajouter une colonne G pour mentionnée que le mail est envoyé sinon à chaque changement tout les mails vont être renvoyés.
Voici un fichier ou tout est déjà intégrer en VBA