Macro: mail sous condition

  • Initiateur de la discussion Initiateur de la discussion roidurif
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

roidurif

XLDnaute Occasionnel
Bonjour,

L'objectif est d'envoyer des mails aux personnes concernés (colonne H), avec un message type selon 2 conditions (Si la date de fin est dépassée ou Si la date de fin n'est pas dépassée).

En indiquant un "X" en colonne D, ca va envoyé automatiquement le message type et indiqué en colonne (i) la date à laquelle le mail a été envoyé.

J'espere avoir été clair dans mes precisions

Je vous joins mon fichier pour exemple.

Merci de l'aide par avance.

Cordialement,

Roidurif
 

Pièces jointes

Re : Macro: mail sous condition

Bonjour,

Voici le code à copier et à affecter à ton bouton :

Code:
Sub mail()
Dim S As Integer, i As Integer
Dim ol As Object
Dim olmail As Object
Dim CurrFile As Object

For i = 6 To [E1000].End(xlUp).Row
If Cells(i, 4) <> "" And Cells(i, 4) <> " " And Cells(i, 6) > Now And Cells(i, 8) <> "" Then

Set ol = CreateObject("Outlook.Application")
Set olmail = ol.CreateItem(0)
    With olmail
        .To = Cells(i, 8)
        .Subject = "Echéance à venir"
        .Body = "Bonjour " & Cells(i, 7) & Chr(13) & Chr(13) & "Votre société " & Cells(i, 5) & " va arriver à terme le " & Cells(i, 6) & "." & Chr(13) & Chr(13) & "Cordialement,"
        'Remplacez .Display par .send pour envoyer directement l'e-mail sans l'afficher dans Outlook
        .Display
        End With
Cells(i, 9) = Now
ElseIf Cells(i, 4) <> "" And Cells(i, 4) <> " " And Cells(i, 6) <= Now And Cells(i, 8) <> "" Then

Set ol = CreateObject("Outlook.Application")
Set olmail = ol.CreateItem(0)
    With olmail
        .To = Cells(i, 8)
        .Subject = "Echéance échue"
        .Body = "Bonjour " & Cells(i, 7) & Chr(13) & Chr(13) & "Votre société " & Cells(i, 5) & " est arrivée à échéance le " & Cells(i, 6) & "." & Chr(13) & Chr(13) & "Cordialement,"
        'Remplacez .Display par .send pour envoyer directement l'e-mail sans l'afficher dans Outlook
        .Display
        End With
Cells(i, 9) = Now
End If
Next i
End Sub

Bonne journée

Juju
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
1 K
Réponses
26
Affichages
2 K
Réponses
9
Affichages
888
Réponses
3
Affichages
656
S
Réponses
6
Affichages
2 K
soNZOOO
S
R
Réponses
21
Affichages
4 K
N
Réponses
2
Affichages
2 K
N
J
Réponses
1
Affichages
929
jerome3131
J
G
Réponses
2
Affichages
6 K
yll92300
Y
Retour