Publipostage avec images et fragmentation
m@rina Messages postés 24050 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je souhaite réaliser des Fiches Techniques par publipostage à partir d'une base Excel.
J'arrive à créer mon publipostage avec mes images, mais je suis obligé de fusionner et ensuite faire ctrl+A et F9 pour mettre à jour mes images.
A l'aide d'une macro j'arrive à enregistrer chaque enregistrements séparément, mais dans ce cas, je ne réalise pas la fusion et donc je ne peux pas mettre à jour toutes mes images.
Est ce qu'il existe une solution pour enregistrer chaque FT et mettre à jour les images ?
Je précise que les fiches techniques peuvent faire 2 pages, 3 pages .... donc je ne peux pas faire un découpage aprés la fusion.
Merci de votre aide
Windows / Firefox 119.0
- Publipostage avec images et fragmentation
- Publipostage mail - Accueil - Word
- Des images - Guide
- Fragmentation disque dur - Guide
- Publipostage date inversée - Forum Excel
- Publipostage date en anglais : comment l'inverser ? ✓ - Forum Excel
3 réponses
Bonjour.
Je te dirai qu'à mon humble avis, le publipostage n'est pas la meilleure façon de fabriquer des fiches techniques ; quels avantages y trouves-tu ?
Bonjour,
J'utilise déjà le publipostage pour créer des étiquettes de rayon à partir d'une base Excel donc je voulais reprendre le même principe pour automatiser les fiches techniques à partir d'une base Excel.
Bonjour,
Il faut utiliser cette macro :
https://www.faqword.com/index.php/word/publipostage/1075 à laquelle on ajoute la mise à jour des champs pour les images, ce qui donne :
Sub publipostage()
Dim fusion As MailMerge
Dim x As Integer, nb As Integer
Dim chemin As String, nom As String
Set fusion = ActiveDocument.MailMerge
chemin = "D:\Mes documents\" 'mettre ici le chemin complet du dossier où stocker les fichiers sans oublier le \ à la fin
nb = fusion.DataSource.RecordCount
For x = 0 To nb - 1
With fusion
.DataSource.FirstRecord = x + 1
.DataSource.LastRecord = x + 1
.Destination = wdSendToNewDocument
.DataSource.ActiveRecord = x + 1
nom = .DataSource.DataFields("Nom") 'Remplacer Nom" par le champ à utiliser
.Execute
End With
ActiveDocument.Fields.Update 'mett à jour les champs Photos
ActiveDocument.ExportAsFixedFormat OutputFileName:=chemin & nom & ".pdf", ExportFormat:=wdExportFormatPDF, openafterexport:=False
ActiveDocument.Close savechanges:=False
Next
End Sub
Cette macro se lance directement depuis le document principal, il ne faut pas faire la fusion avant. Elle nomme les fichiers avec le champ "Nom". Mais évidemment, on peut choisir ce que l'on veut.
m@rina