Macro Publipostage vers un document DOCX + un autre PDF

neotraxo -  
 Neotraxo -

Bonjour à tous,

Je fais appel à vous pour que vous puissiez m'aider après 4 jours de recherches intensive :(

J'ai un contrat sur Word avec une base de données sur Excel que je veux publiposter vers un document qui s'enregistre avec une nomenclature spécifique en DOCX mais également en PDF avec la même nomenclature.

j'ai essayé différentes macro mais aucune n'arrive à aller au bout du cheminement.

Dim DocName As String
Dim chemin As String

Public Sub GenerationDocuments()

' Déclaration des variables
Dim recordCount As Integer
Dim index As Integer
Dim oDoc As Document
Dim oDS As MailMergeDataSource

' Affectation des objets
Set oDoc = ActiveDocument
Set oDS = oDoc.MailMerge.DataSource

recordCount = oDoc.MailMerge.DataSource.recordCount
Debug.Print recordCount & "nom"

For index = 1 To recordCount
With oDoc.MailMerge
'Définition du premier et dernier enregistrement
.DataSource.FirstRecord = index

.DataSource.LastRecord = index

' Envoi des données dans un nouveau document
.Destination = wdSendToNewDocument

' Exécution du publipostage
.Execute

' Actualisation de l'enregistrement pour la sauvegarde
.DataSource.ActiveRecord = index

'Utilisation de deux champs pour obtenir le nom du document
DocName = .DataSource.DataFields("Nom")
DocName = DocName & "-" & .DataSource.DataFields(4).Value
Debug.Print DocName; index
End With
' Sauvegarde du document publiposté
chemin = "C:\Users\XXXX\OneDrive - ACCOR\Desktop\Publipostage AAA\" & DocName & ".doc"
With ActiveDocument
.SaveAs chemin
End With
Next index
'enregistre en PDF
VersPDF
End Sub

Sub VersPDF()
Dim nfichier As String, nfichier2 As String, intpos As Byte
nfichier = DocName
'trouve la position de l'extension
intpos = InStrRev(nfichier, ".")
'remplace l'extension doc par pdf
nfichier = Left(nfichier, intpos - 1)
nfichier2 = nfichier & ".pdf"
'enregistre dans le dossier en cours
ActiveDocument.ExportAsFixedFormat outputFileName:=chemin & nfichier2, exportFormat:=wdExportFormatPDF, OpenAfterExport:=False
ActiveDocument.Close savechanges:=False
End Sub



voici la plus aboutie selon moi mais j'ai une erreur lors de la création des fichiers DOC et PDF.

quelqu'un aurait la gentilesse de m'aider svp?

Voici les 2 fichiers concernés: 

merci 
Windows / Chrome 109.0.0.0

A voir également:

2 réponses

m@rina Messages postés 23882 Date d'inscription   Statut Contributeur Dernière intervention   11 464
 

Bonjour,

Tu dis donner tes fichiers, mais où ??

Sinon, j'ai regardé très rapidement. TU dis vouloir convertir en docx, alors pourquoi dans le chemin, l'extension est "doc" ?

Il faut déjà changer ça.

m@rina


0
Neotraxo
 

https://www.cjoint.com/c/MBdunMFPPuj
 

bonsoir Marina 

merci à toi pour ta réponse  

je crois même qu’un bout du code vient de toi ;)

toutes excuses mon lien n’avait pas marché hier.  Je viens de reposter 
 

voilà qui est résolu. C’est ok pour toi ?

pour doc ou docx , y aura pas d’impact à mon sens au final mais oui je vais changer ;)

merci à toi 

0