Envoi mail à plusieurs destinataires conditionné

Tozinho64 Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   -  
Tozinho64 Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'aimerai via Excel, envoyer des mails selon un modèle prédéfini et conditionné selon les valeurs de certaines cellules.
J'ai créé deux lignes pour illustrer la demande.
Cellule A2 (nom): Toto / Cellule A3 : Titi
Celule B2 (Type voiture) : Peugeot / Cellule B3 : BMW
Cellule C2 ( Version) : 208 / Cellule C3 : X5
Cellule D2 (Etat CT) : KO / Cellule D3 : OK
Cellule E2 (Mail) : toto@test.fr / Cellule E3 : titi@test.fr

l'envoi de mail devra être conditionné de cette manière :
Si Cellule Dx =KO envoie mail au destinaire de la cellule [Ex] en ecrivant en Objet : Rappel CT de la voiture de la cellule [Bx] / [Cx] et comme texte principal : Bonjour, votre voiture [Bx]/[Cx] arrive à échéance. Veuillez prévoir une visite....

Merci pour votre aide

fabrice

5 réponses

  1. hich24 Messages postés 1686 Statut Membre 753
     
    bonsoir, si je comprend bien la condition est la date controle technique ?
    0
    1. Tozinho64 Messages postés 43 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour,
      Oui si controe technique KO, envoie du mail
      0
  2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Bonjour,

    regarde cette discussion ou tu trouveras certainement les explications souhaitées
    https://forums.commentcamarche.net/forum/affich-36552511-envoi-de-mail-automatique-par-excel-quand-date-arrive-a-echeance
    0
    1. Tozinho64 Messages postés 43 Date d'inscription   Statut Membre Dernière intervention  
       
      Merci pour le retour,
      Malheureusement les accès au sites mon partage pour récupérer les exemples excel est rejeté depuis mon travail. Je regarderai depuis chez moi.
      0
  3. Tozinho64 Messages postés 43 Date d'inscription   Statut Membre Dernière intervention  
     
    Bonjour,
    Merci à tous, en recherchant j'ai trouvé comment faire.
    Sauf que maintenant j'ai une autre condition à appliquer.
    Là, j'envoie un email formaté en fonction des éléments d'une ligne si et seulement si une cellule de cette ligne est égale à un critère.
    Exemple, si CT est KO, envoie 1 email en disant que le véhicule est KO.
    Sauf que si CT est KO pour 10 véhicules ayant la même adresse email (même client), je ne veux pas envoyer 10 emails mais uniquement un seul en listant les 10 véhicules.

    Merci pour votre aide
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Tozinho64 Messages postés 43 Date d'inscription   Statut Membre Dernière intervention  
     
    Là mon code est le suivant :
    Sub mail_auto_fin_procédure()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim strbody As String
    Dim L As Long

    With Worksheets("feuil1") 'adaptez le nom de feuille
    derlig = Range("C" & Rows.Count).End(xlUp).Row
    For L = 1 To derlig
    strbody = ""
    If Range("C" & L) = "KO" Then
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    strbody = "Bonjour," & vbCrLf _
    & vbCrLf _
    & "La date du contrôle technique de votre " & .Range("A" & L) & " " & .Range("B" & L) & " est dépassée depuis le " & .Range("F" & L) & "." & vbCrLf _
    & vbCrLf _
    & "Cordialement" & vbCrLf _
    & vbCrLf _
    & "CT de France" & vbCrLf _
    & vbCrLf _
    & "----------------------------------------------------------------------------------------------------------------" & vbCrLf _
    & vbCrLf _
    & "Dear all," & vbCrLf _
    & vbCrLf _
    & "The CT's date of your " & .Range("A" & L) & " " & .Range("B" & L) & " is out of limit since " & .Range("F" & L) & "." & vbCrLf _
    & vbCrLf _
    & "Best regards" & vbCrLf _
    & vbCrLf _
    & "French CT" & vbCrLf _
    'On Error Resume Next
    With OutMail
    .To = Range("D" & L) & ";" & Range("E" & L)
    .CC = ""
    .BCC = ""
    .Subject = "Alerte"
    .Body = strbody
    .Display 'visu @Mail
    .Send ' pour l'envoi du @mail
    End With
    On Error GoTo 0
    End If
    Set OutMail = Nothing
    Set OutApp = Nothing
    Next L
    End With
    End Sub
    0