Publipostage avec images et fragmentation

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

3 réponses

  1. Contributeur

    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 ?


    1
    1. 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.

      0
      1. Contributeur

        Oui ; mais une simple étiquette et une fiche technique de plusieurs pages avec des images, ce n'est pas du tout comparable !

        0
    2. Modérateur

      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


      0