Envoi email type outllook via un tableau Excel

norbenz Messages postés 2 Statut Membre -  
danielc0 Messages postés 2192 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'espère que vous allez pouvoir m'aider :

N'ayant pas des connaissance sur VBA, j'ai un besoin urgent dans mon service d'une macro pour la mise en place d'un outil automatisé qui permet d'envoyer un email outlook depuis un tableau Excel :

L'email souhaité est le suivant :

Objet : Traitement manquant (Objet)

Corps d'email :

Bonjour,

Ceci est une remontée pour M. DUPONT (Collaborateur). Merci de traiter le dossier client (Commentaire)

Bien Cordialement

L'email est envoyé après chaque enregistrement après avoir renseigné la (Date).

L'email est envoyé à une liste d'emails (Liste 1) renseignée dans l'onglet 2.

Le tableau est le suivant :

Date Collaborateur Objet Commentaire Diffusion
JJ/MM/AAAA M. DUPONT Traitement manquant Merci de traiter le dossier client Liste 1

Merci infiniment pour votre aide par avance.

1 réponse

  1. danielc0 Messages postés 2192 Date d'inscription   Statut Membre Dernière intervention   287
     
    Bonjour,

    Mets ton classeur, sans données confidentielles sur cjoint.com, mon-partage.fr ou autre et poste le lien correspondant.

    Cordialement.

    Daniel
    1
    1. norbenz Messages postés 2 Statut Membre
       
      Bonjour Daniel,
      Merci pour ta réponse, voici le lien du fichier Excel, en te remerciant par avance pour ton aide précieuse.
      Excellente semaine à toi. :
      https://www.cjoint.com/c/HIkihtLYJKs
      0
    2. danielc0 Messages postés 2192 Date d'inscription   Statut Membre Dernière intervention   287
       
      Bonjour,

      Voici ton classeur modifié :

      https://www.cjoint.com/c/HIkjkWvoBmv

      J'ai mis un bouton sur Feuil1 pour déclencher la macro.

      Sub Traitement()
        Dim olApp As Object, M As Object, C As Range, X As Range, Plage As Range, Col As Integer
        Set olApp = CreateObject("Outlook.application")
        With Sheets("Feuil1")
          Set M = olApp.CreateItem(olMailItem)
          For Each C In .Range("B2", .Cells(.Rows.Count, 2).End(xlUp))
            With M
              .Subject = C.Offset(, 1).Value
              .Body = "Bonjour," & Chr(10) & "Ceci est une remontée pour " & _
                C.Value & ". " & C.Offset(, 2).Value
              With Sheets("Feuil2")
                Col = Application.Match(C.Offset(, 3), .[1:1], 0)
                For Each X In .Range(.Cells(2, Col), .Cells(.Rows.Count, Col).End(xlUp))
                  M.Recipients.Add X.Value
                Next X
              End With
              C.Offset(, -1).Value = Date
              .Send
              Set M = Nothing
            End With
          Next C
        End With
      End Sub
      


      Daniel
      0
    3. norbenz
       
      Bonsoir Daniel,
      Merci infiniment pour ton aide vraiement précieuse. Tu es au TOP ;)

      En revanche, j'ai 2 petits soucis :
      1- je ne peux remplir qu'une seule ligne : en remplissant une 2ème ligne ca me met un message d'erreur : Erreur d'execussion '91' : Variable objet ou variable de bloc With non définie.
      2-A chaque envoi des nouvelles lignes crées, cela m'envoie les anciennes lignes aussi : Peux tu STP rajouter une condition d'envoie uniquement sur les lignes ou les dates ne sont pas renseignées ?

      Peux-tu m'aider sur ces deux points s'il te plait ?

      En te remerciant infiniment par avance pour ton aide.

      Excellente fin de journée à toi.
      0
    4. danielc0 Messages postés 2192 Date d'inscription   Statut Membre Dernière intervention   287
       
      Voici le classeur rectifié.

      Daniel
      0
    5. danielc0 Messages postés 2192 Date d'inscription   Statut Membre Dernière intervention   287
       
      Voici le classeur rectifié.

      https://www.cjoint.com/c/HInrEIGIMWv

      Daniel

      Daniel
      0