XL 2013 Générer un fichier pdf et l'envoyer par mail

Jean_Valjean

XLDnaute Nouveau
Bonjour,
J'ai réussi à adapter un bout de code qui me permet de générer un pdf et de l'envoyer par mail. Mais je bloque sur une optimisation dont j'ai besoin : le nom du fichier et entré en dur (ça fonctionne bien) et lorsque j'essaie de faire référence à une cellule qui contient le nom du fichier excel, en l'occurrence (Data!B1), ça plante à la ligne Attachments.Add. J'ai pas mal cherché et tenté entre autres de faire référence à ActiveWorkbook mais dans ce cas le pdf n'est pas généré et c'est l'excel qui est joint au mail.
Bref pour le moment je fais du sur place alors si l'un dentre vous a une piste de réflexion.
 

Pièces jointes

  • Note_de_frais-0422.xlsm
    25.4 KB · Affichages: 10
Solution
Salut, via CDO ? ici cela fonctionne, à adapter à ton contexte.

VB:
    .....
    With Flds
        .....
        ' à adapter au contexte
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.orange.fr"
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
        .Update
    End With
    .....
    With Msg
        ......
        ' à adapter au contexte
        .To = "abcdefgh@orange.fr"
        .CC = ""
        .BCC = ""
        ' à adapter au contexte
        .From = """Triboulet"" <yyyyy@zzzzz.fr>"
        .....

kiki29

XLDnaute Barbatruc
Salut, via CDO ? ici cela fonctionne, à adapter à ton contexte.

VB:
    .....
    With Flds
        .....
        ' à adapter au contexte
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.orange.fr"
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
        .Update
    End With
    .....
    With Msg
        ......
        ' à adapter au contexte
        .To = "abcdefgh@orange.fr"
        .CC = ""
        .BCC = ""
        ' à adapter au contexte
        .From = """Triboulet"" <yyyyy@zzzzz.fr>"
        .....
 

Pièces jointes

  • Note_de_frais CDO.xlsm
    27.8 KB · Affichages: 20
Dernière édition:

Jean_Valjean

XLDnaute Nouveau
Salut, via CDO ? ici cela fonctionne, à adapter à ton contexte.

VB:
    .....
    With Flds
        .....
        ' à adapter au contexte
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.orange.fr"
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
        .Update
    End With
    .....
    With Msg
        ......
        ' à adapter au contexte
        .To = "abcdefgh@orange.fr"
        .CC = ""
        .BCC = ""
        ' à adapter au contexte
        .From = """Triboulet"" <yyyyy@zzzzz.fr>"
        .....
Très intéressant merci je vais adapter à ma situation.
 

kiki29

XLDnaute Barbatruc
Re, pour info :
PDFCreator 1.7.3 Envoi par Mail d'un fichier PDF protégé
PDFCreator 1.7.3 Génération PDF puis envoi par mail via CDO

sans oublier RdB
Pourquoi utiliser le code CDO au lieu de l'automatisation Outlook ou SendMail dans VBA.

1 : Peu importe le programme de messagerie que vous utilisez (il utilise uniquement le serveur SMTP).
2 : Peu importe la version d'Office que vous utilisez (97…2016)
3 : Vous pouvez envoyer une plage/feuille dans le corps du courrier (certains programmes de messagerie ne peuvent pas le faire)
4: Vous pouvez envoyer n'importe quel fichier que vous aimez (fichiers Word, PDF, PowerPoint, TXT,….)
5 : Aucun avertissement de sécurité, vraiment génial si vous envoyez beaucoup de courrier en boucle.
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
660

Statistiques des forums

Discussions
315 126
Messages
2 116 490
Membres
112 763
dernier inscrit
issam2020