[Réglé] Publipostage Word Excel Outlook le fichier Word en pdf

Bearn 64

XLDnaute Occasionnel
Bonjour le Forum,

Je suis a la recherche d'informations.
J'ai un fichier Excel avec des données (Nom, Prénom, adresse, Code postal, ville, email, et autres informations).
Dans Word deux pages qui ordonnent les données issues d'Excel.
Le publipostage fonctionne.

Mes interlocuteurs nom pas Word. Mais Acrobat.

Est-il possible de remplir la feuille Word de l'enregistrer en PDF et de l'envoyer par Outlook à l'adresse email d'Excel.

J'ai dans Excel 580 email à traiter.

Merci de votre aide.
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re : Publipostage Word Excel Outlook le fichier Word en pdf

Bonjour Bearn :)

Oui c'est possible. Regarde en bas de page si tu trouve quelque chose. Et il y a aussi les pages Wiki XLD qui pourraient t'aider.

Enregistrer-sous .pdf à partir de word, mais depuis excel il faut activer la référence Word et écrire la macro.

Code:
Sub Macro1()
    ActiveDocument.ExportAsFixedFormat OutputFileName:= _
        "C:\Users\" & Environ("username") & "\Desktop\" & "Doc2.pdf", ExportFormat:=wdExportFormatPDF
End Sub

Une fois enregistrer, avec la macro Outlook
Dim NomDoc

NomDoc = "C:\Users\" & Environ("username") & "\Desktop\" & "Doc2.pdf"

.Attachements.Add NomDoc

Et moi aussi maintenant, j'aimerais savoir comment attacher 2 documents Word et Excel par exemple.

Mer... Je sens qu'on me va faire la remarque. gene.gif (Avec une corde ! ;) :p :D)
 

Pièces jointes

  • gene.gif
    gene.gif
    4.5 KB · Affichages: 67
Dernière édition:

Bearn 64

XLDnaute Occasionnel
Re : Publipostage Word Excel Outlook le fichier Word en pdf

Bonjour Lone-wolf, le Forum,

Je suis novice et un peu perdu.:confused:
Donc le suis dans Excel et fait les macros de publipostage, j'envoi la feuille Word créée envoyer comme piece jointe au format PDF.

Ok mais pour mettre l'adresse mail dans outlook ???

Merci de votre attention.
 

Lone-wolf

XLDnaute Barbatruc
Re : Publipostage Word Excel Outlook le fichier Word en pdf

Re Bearn IN USA

Mais oui, où voudrais tu mettre l'adresse email???

Un exemple d'envois avec pièces jointes

Code:
Sub envoimail()
Dim Objet, Corps, mois, rep, fichier(1 To 3) As String
Dim PremAdress, Strcc, CopieC, AdressMailBCC As String
Dim Outlook, Mail As Object, cel as range
 
mois = LCase(Format(Date, "mmmm"))
Objet = "Rapport d'appels du mois d'" & mois

Corps = "Bonjour, " & _
vbCrLf & vbCrLf & _
"ci-joint le fichier des appels du mois " & "d'" & mois & " pour votre agence." & _
vbCrLf & vbCrLf & _
"Nous restons bien entendu à votre disposition pour tout renseignement complémentaire." & _
vbCrLf & vbCrLf & _
"Cordialement." & _
vbCrLf & vbCrLf & vbCrLf & _
"D. Mélanie - Assistante de Direction"


rep = "C:\Users\" & Environ("username") & "\Desktop\Nouveau dossier\"
fichier1 = rep & "Classe.xls"
fichier2 = rep & "Justice.doc"
fichier3 = rep & "lettre.pdf"

With Feuil1       'Nom complet  et adresse mail
PremAdresse = .Range("d5") & "<" & .Range("e5") & ">" & ";"
For Each cel In .Range([M4], [M65536].End(xlUp))
                               'Nom complet  et adresse mail
        Strcc = Strcc & cel.Offset(0, -2).Value & "<" & cel.Value & ">" & ";"
    Next cel
    CopieC = Split(Strcc, ";")
    
    For i = 0 To UBound(CopieC) - 1
        If CopieC(i) = AdressMailBCC Then
        Exit For
        Else
            AdressMailBCC = AdressMailBCC & CopieC(i) & ";"
        End If
    Next i
End With

Set Outlook = CreateObject("Outlook.Application")
    Set Mail = Outlook.CreateItem(0)
 
    With Mail
        .To = PremAdresse
        .CC = Mid(AdressMailBCC, 1, Len(AdressMailBCC) - 1)
        .Subject = Objet
        .Body = Corps
        .Attachments.Add fichier1
        .Attachments.Add fichier2
        .Attachments.Add fichier3
        .Display
    End With
End Sub
 
Dernière édition:

Bearn 64

XLDnaute Occasionnel
Re : Publipostage Word Excel Outlook le fichier Word en pdf

Bonjour Lone-wolf, le Forum,

Je suis novice et un peu perdu. :confused:

Voila se que j'ai issu d'un post de BRUNU45.
Mais je n'arrive pas à enregistrer chaque feuille Word avec comme nom le mail qui se trouve dans Excel.
Et si possible convertir en pdf le fichier résultat du publipostage.

Le tout pour envoyer le pdf a l'adresse du mail.

Merci de votre aide et patience.
 

Pièces jointes

  • publipostagepdf.zip
    57.1 KB · Affichages: 33
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re : Publipostage Word Excel Outlook le fichier Word en pdf

Bonjour Bearn,

dans ce cas c'est mieux que ce soit lui qui regarde. Sinon voici une autre macro exemple

Code:
Private Sub WordDoc_Click()
    Dim oApp As Word.Application, doc As Word.Document
  Range("A2").Select
    On Error Resume Next
    nf = ThisWorkbook.Path & "\modele.doc"
    Set oApp = CreateObject("Word.Application")
    oApp.Visible = True
    Set doc = oApp.Documents.Open(nf)
    If Err <> 0 Then
      MsgBox "Le fichier doit être dans " & ThisWorkbook.Path, , "Contacts Outlook"
      Exit Sub
    End If
    On Error GoTo 0        ' Annule la gestion d'erreur
    '--
    titre = TextBox1.Value
    nom = TextBox2.Value
    rue = TextBox3.Value
    codepostal = TextBox4.Value
    ville = TextBox5.Value
    civilité = TextBox1.Value
    '--
    With doc
      .Bookmarks("titre").Range.Text = titre
      .Bookmarks("civilité").Range.Text = titre
      .Bookmarks("nom").Range.Text = nom
      .Bookmarks("rue").Range.Text = rue
      .Bookmarks("codepostal").Range.Text = codepostal
      .Bookmarks("ville").Range.Text = ville
      .Bookmarks("title").Range.Text = titre
    End With
    nom_doc = ThisWorkbook.Path & "\" & nom & ".doc"
    doc.SaveAs nom_doc
        doc.ExportAsFixedFormat OutputFileName:= _
        ThisWorkbook.Path & "\Pdf-doc\" & nom, ExportFormat:=wdExportFormatPDF
    nom_pdf = ThisWorkbook.Path & "\Pdf-doc\" & nom & ".pdf"
    oApp.Quit
    '------------------------ envoi par mail
    Dim olApp As Outlook.Application
    Dim Objet As Object
    Dim Msg As MailItem
    Dim strline As String
    strline = "Bonjour" & " " & TextBox1 & ","
    Set olApp = New Outlook.Application
    Set Msg = olApp.CreateItem(olMailItem)
    Msg.To = TextBox9.Value
    Msg.Subject = ""
    Msg.Body = ""
    Msg.Attachments.Add Source:=nom_doc
    Msg.Attachments.Add Source:=nom_pdf
    Msg.Display
    Set olApp = Nothing
    ActiveCell.Offset(1, 0).Select
  Set Objet = CreateObject("Scripting.FileSystemObject")
  Objet.movefile nom_doc, ThisWorkbook.Path & "\Word-doc\"
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
314 716
Messages
2 112 162
Membres
111 447
dernier inscrit
jasontantane