Email sender (CDO.Message)

  • Initiateur de la discussion Initiateur de la discussion kenshiro
  • 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 !

kenshiro

XLDnaute Nouveau
Bonjour a tout les futurs lecteurs du post et merci d'avance pour votre attention 🙂

Voila, j'ai fait une petite macro dans un classeur xls qui utilise l'objet CDO.Message (zip en pj).

Sur ma feuille 1 : "Email Sender" j'ai la totalité des informations qui composeront le ou les messages à envoyer:

l'objet, le coprs du texte, le ou les émetteurs, le ou les destinataire et enfin la pièce jointe (colonne D6 du tableau).

Le but de la macro :
envoyer a chaque destinataire (colonne C) un message de l'émetteur (colonne B) avec la P.J. (colonne D)

Le destinataire Dn recevra donc un message de l'émetteur Em avec la pièce jointe qui lui est propre PJn.

A l'heure actuelle, la macro traite l'envoi des Emails.
Les émetteurs, les destinataires sont pris en compte et les Emails sont acheminés.

Cependant, je n'arrive pas à paramétrer l'option :

.AddAttachment de l'objet CDO.Message

afin qu'elle aille me chercher la PJ dont l'adresse est indiqué en colonne D.

Chaque destinaire reçoit donc pour l'instant une PJ fixe. Avec un adressage indiquer à la mano dans VBA.

Y'as t'il un moyen simple de parametrer .AddAttachment de CDO.Message afin que ma macro joigne un fichier dont l'adresse est indiqué sur une cellule excel ?

Je vous remercie par avance de vos réactions.

Nota :
Le tableau joint a un but pro & ne doit pas être utilisé pour spammer SVP cela va sans dire 😎
 

Pièces jointes

Re : Email sender (CDO.Message)

Salut
Code:
Option Explicit

Sub EmailSender()
Dim i As Long
Dim LastRow As Long
Dim Msg As Object
Dim Fichier As String

    LastRow = Range("B" & Rows.Count).End(xlUp).Row
        
    For i = 6 To LastRow
        [b]Set Msg = CreateObject("CDO.Message")[/b]
        With Msg
            .To = Range("C" & i)
            .From = Range("B" & i)
            .Subject = Range("C3")
            .TextBody = Range("C4")
            .AddAttachment Range("D" & i)
            .Send
        End With
        [b]Set Msg = Nothing[/b]
    Next i

    
    MsgBox "Sending Complete"
End Sub

Sinon voir et adapter https://www.excel-downloads.com/threads/choisir-un-fichier-pdf-et-lenvoyer-par-mail-en-vba.79294/
 
Dernière édition:
Re : Email sender (CDO.Message)

Et bien ton code est bien plus propre que la miens ca c'est sur 🙂
Ca marche super !
par contre mon destinataire 2 reçoit le fichier resultat 1 & resultat 2.txt..
et le destinaire 4 reçoit les fichiers 1 2 3 et 4 .txt
et ainsi de suite 😀
 
Re : Email sender (CDO.Message)

Re Kiki..
comment dire, je ne veux pas abuser de toi.. mais voila.
Je reviens vers toi ou le forum car avec la version du code que tu a poster :
le destinataire 1 reçoit bien son fichier txt : resultat 1.txt en PJ
le destinataire 2 reçoit bien son fichier txt : resultat 2.txt en PJ
mais il reçoit aussi resultat 1.txt donc pas good :-/
le destinataire 3 reçoit bien son fichier txt : resultat 3.txt en PJ
mais il reçoit aussi resultat 2.txt et resultat 1.txt
etc...
imagine le dernier destinataire 😀

je renvois en PJ le fichier modifier selon tes conseils.. serait-ce les adresses des fichiers txt qui posent prob ?

merci d'avance
 

Pièces jointes

Re : Email sender (CDO.Message)

Au poil !
Bravo et merci beaucoup.
J'ai un tas de fichier pdf à des clients a envoyer (spécifique a chacun) et grâce ce petit modèle je vais pouvoir cuisiner ça.
Merci pour ton aide.
Sais tu si il y as des limites a l'envoi d'Email par cette méthode (nombre caractere ? taille PJ ? rejet de certain FAI ?)

A++
 
Re : Email sender (CDO.Message)

Bonjour,

J'ai un ptit soucis avec ce code, j'ai une erreur sur le code plus haut, la boite de dialogue me dit: la valeur de configuration "SendUsing" est non valide. et quand je demande le debogage il me met en surbrilance le ".Send"

quelqu'un aurais une idée par hasard?
 
Re : Email sender (CDO.Message)

Hello.

J'ai eu le même pb Dark.
Apperement un probleme vec les versions récente d'outlook & windows XP

J'ai trouvé la solution la :
ASP Sending e-mail with CDOSYS

et donc mis mon fichier a jour : (voir PJ)

Mais apprement avec le pack SP3 de zindowz plus besoin de la bidouille.

A vérifier.

a+
 

Pièces jointes

- 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
0
Affichages
4 K
Retour