Conversion feuille en pdf puis envoi par outlook

Résolu/Fermé
johannes26500 Messages postés 4 Date d'inscription vendredi 2 octobre 2015 Statut Membre Dernière intervention 2 octobre 2015 - 2 oct. 2015 à 16:08
johannes26500 Messages postés 4 Date d'inscription vendredi 2 octobre 2015 Statut Membre Dernière intervention 2 octobre 2015 - 2 oct. 2015 à 17:11
Bonjour,

J'ai un fichier Excel 2010 avec plusieurs onglets.
Sur l'un d'entre eux 'KPIs' j'ai des TCD avec une source sur un autre onglet.
Je cherche à convertir l'onglet avec les TCD au format PDF pour l'envoyer par email via l'outlook de mon entreprise ; et si possible supprimer le pdf par la suite.
Sachant que le j'arrive à générer le pdf avec la date en variable.

Merci beaucoup pour votre aide

voici le vba que j'utilise :



Sub Envoyer_PDF_par_email()
Dim messageHTML
On Error GoTo errorHandler
'on crée le fichier PDF dans le même dossier que le fichier source
Sheets("KPIs").ExportAsFixedFormat Type:=xlTypexslm, Filename:= _
ActiveWorkbook.Path & "\" & "Suivi des templates_20151002.PDF" ' A modifier
Set objMessage = CreateObject("CDO.Message")
objMessage.Subject = "Fichier de suivi des templates"
objMessage.From = "mon_adresse_email.com" 'adresse mail de l'expéditeur n'est pas obligatoire
objMessage.To = mon_destinataire_email.com" 'Email du destinataire doit-être correct ici
objMessage.TextBody = "Bonjour," & vbCrLf & "Veuillez trouver en PJ le fichier de suivi des templates à date" & vbCrLf & "bonne réception"
piece_jointe = ActiveWorkbook.Path & "\" & "Suivi des templates_20151002.PDF" ' A modifier
messageHTML = "Ceci est un message en HTML"
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail1.inetpsa.com" ' A modifier
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusername") = "mon_adresse_email.com"
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "mon_mot_de_passe_session"
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30

objMessage.Configuration.Fields.Update
objMessage.AddAttachment (piece_jointe) 'On ajoute la pièce jointe, il est possible d'envoyer plusieurs pièces
'objMessage.AddAttachment (piece_bis) 'dans ce cas on ajoute un objMessage.AddAttachement () par pièce
objMessage.Send
MsgBox "Le mail a été bien envoyé !"
'la feuille PDF créée est supprimée après l'envoi
Kill ActiveWorkbook.Path & "\" & "Suivi des templates_20151002.PDF" ' A modifier
'si erreur on sort de la procédure
Exit Sub
errorHandler:
'description de l'erreur survenue
MsgBox Err.Description
End Sub
A voir également:

2 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
Modifié par cs_Le Pivert le 2/10/2015 à 17:19
Bonjour,

Les données initiales ont été changées sur ce post :

https://forums.commentcamarche.net/forum/affich-32598016-envoi-mail-outlook-avec-conversion-feuille-en-pdf#1

@+ Le Pivert
1
johannes26500 Messages postés 4 Date d'inscription vendredi 2 octobre 2015 Statut Membre Dernière intervention 2 octobre 2015
2 oct. 2015 à 16:49
Apparemment CDO n'est pas supporté par Outlook 2010, alors que je l'ai bien ajouté en références
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > johannes26500 Messages postés 4 Date d'inscription vendredi 2 octobre 2015 Statut Membre Dernière intervention 2 octobre 2015
2 oct. 2015 à 16:54
Bonjour cs_Le Pivert,

johannes26500: CDO n' a rien a voir avec Outlook
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
2 oct. 2015 à 16:39
Bonjour,

Avec CDO, vous n'utilisez pas Outlook !!!!!!!!!!!!!!!!!!!!!!
-1
johannes26500 Messages postés 4 Date d'inscription vendredi 2 octobre 2015 Statut Membre Dernière intervention 2 octobre 2015
2 oct. 2015 à 16:42
comment faire alors ?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > johannes26500 Messages postés 4 Date d'inscription vendredi 2 octobre 2015 Statut Membre Dernière intervention 2 octobre 2015
Modifié par f894009 le 2/10/2015 à 16:55
Re,

envoi par Outlook: a vous de voir pour le nom de fichier variable

Sub Envoyer_PDF_par_email()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim texte As String, FichierPDF As String
    Dim I As String
    
    On Error GoTo errorHandler
    'on crée le fichier PDF dans le même dossier que le fichier source
    FicherPDF = "Suivi des templates_" & Variable_Date & ".PDF"
    Sheets("KPIs").ExportAsFixedFormat Type:=xlTypexslm, Filename:=ActiveWorkbook.Path & "\" & FichierPDF     ' modifie

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    On Error Resume Next
    With OutMail
        'messageHTML = "Ceci est un message en HTML"
        .To = "mon_destinataire_email.com" 'Email du destinataire doit-être correct ici
        .CC = ""
        .BCC = ""
        .Subject = "Fichier de suivi des templates"
        .Body = "Bonjour," & vbCrLf & "Veuillez trouver en PJ le fichier de suivi des templates à date" & vbCrLf & "bonne réception"
        ' You can add other files by uncommenting the following line.
        'Ex:.Attachments.Add ("C:\users/benzoplus/desktop/lm bad.pdf")
       .Attachments.Add ActiveWorkbook.Path & "\" & FichierPDF '  modifie
       'Ouvre Outlook et a vous de cliquer sur le bouton Envoyer
       .Display
       ' Envoi @Mail sans ouvrir Outlook
       '.Send
    End With
    ' Effacer les vairable objet
    Set OutMail = Nothing
    Set OutApp = Nothing

    MsgBox "Le mail a été bien envoyé !"
    'la feuille PDF créée est supprimée après l'envoi
    Kill ActiveWorkbook.Path & "\" & FichierPDF ' modifie
    'si erreur on sort de la procédure
    Exit Sub
errorHandler:
    'description de l'erreur survenue
    MsgBox Err.Description
End Sub
0
johannes26500 Messages postés 4 Date d'inscription vendredi 2 octobre 2015 Statut Membre Dernière intervention 2 octobre 2015 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
2 oct. 2015 à 17:11
Merci beaucoup f894009
ca fonctionne !
0