Microsoft 365 Envoie mail automatique

vby

XLDnaute Nouveau
Bonsoir cher Forum

Je voudrais que vous m'appuyez à corriger ce code VBA. JE voudrais que si la valeur des cellules AB3 à AB100 est comprise entre 0 et 30 qu'il envoie un mail automatique à l'émail figurant sur la colonne Z en mettant en objet le nom de la colonne H. pour le corps du message il commencera par Bonjour + le nom de la cellule à F.

Exemple1: si AB4 = 27, qu'il envoie un mail à Z4 avec comme :

Objet Mettre à jour date fin contrat H4
et comme corps du message : Bonjour cher.e F4,
Juste un petit rappel que le contrat H4 prend fin à K4.
Cordialement

Exemple1: si AB30 = 1, qu'il envoie un mail à Z30 avec comme :

Objet Mettre à jour date fin contrat H30
et comme corps du message : Bonjour cher.e F30,
Juste un petit rappel que le contrat H30 prend fin à K30.
Cordialement

Je voudrais que cela se produit qu'une seule fois par jour lors de la première ouverture du fichier. De plus si la cellule à la colonne AB est comprise entre 0 et 30 qu'il colorie en rouge la cellule K correspondante.

Merci de votre précieuse aide !

Ci dessous le code j'avais entamé :

Private Sub Workbook_Open()

Dim OutApp As Object
Dim OutMail As Object
Dim strBody As String
Dim toEmail As String
Dim i As Integer

For i = 3 To 54
If Range("AB" & i).Value = 0 Then
If Not IsEmpty(Range("Z" & i).Value) Then
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
toEmail = Range("Z" & i).Value

strBody = "Bonjour, <br><br>" _
& "La valeur de la cellule AB" & i & " est égale à 0. <br><br>" _
& "Cordialement, <br>" _
& "Votre nom"

On Error Resume Next

With OutMail
.To = toEmail
.CC = ""
.BCC = ""
.Subject = "Sujet de l'e-mail"
.HTMLBody = strBody
.Send
End With

On Error GoTo 0

Set OutMail = Nothing
Set OutApp = Nothing
End If
End If
Next i

End Sub
 

Pièces jointes

  • xlm master25.xlsm
    40.1 KB · Affichages: 4

Statistiques des forums

Discussions
311 725
Messages
2 081 943
Membres
101 849
dernier inscrit
florentMIG