Conversion feuille en pdf puis envoi par outlook

Résolu
johannes26500 Messages postés 5 Statut Membre -  
johannes26500 Messages postés 5 Statut Membre -
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

2 réponses

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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
    1. johannes26500 Messages postés 5 Statut Membre
       
      Apparemment CDO n'est pas supporté par Outlook 2010, alors que je l'ai bien ajouté en références
      0
      1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > johannes26500 Messages postés 5 Statut Membre
         
        Bonjour cs_Le Pivert,

        johannes26500: CDO n' a rien a voir avec Outlook
        0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Avec CDO, vous n'utilisez pas Outlook !!!!!!!!!!!!!!!!!!!!!!
    -1
    1. johannes26500 Messages postés 5 Statut Membre
       
      comment faire alors ?
      0
      1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > johannes26500 Messages postés 5 Statut Membre
         
        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
      2. johannes26500 Messages postés 5 Statut Membre > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
         
        Merci beaucoup f894009
        ca fonctionne !
        0