Envoi email type outllook via un tableau Excel

norbenz Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
danielc0 Messages postés 1859 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.
A voir également:

1 réponse

danielc0 Messages postés 1859 Date d'inscription   Statut Membre Dernière intervention   231
 
Bonjour,

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

Cordialement.

Daniel
1
norbenz Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
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
danielc0 Messages postés 1859 Date d'inscription   Statut Membre Dernière intervention   231
 
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
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
danielc0 Messages postés 1859 Date d'inscription   Statut Membre Dernière intervention   231
 
Voici le classeur rectifié.

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

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

Daniel

Daniel
0