Macro Publipostage vers un document DOCX + un autre PDF
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
- Macro Publipostage vers un document DOCX + un autre PDF
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Comment ouvrir un fichier docx ? - Guide
- Fichier DOC ou DOCX : c'est quoi, comment l'ouvrir - Guide
- Comment reduire la taille d'un document - Guide
- Publipostage mail - Accueil - Word
2 réponses
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
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