Comment intégrer une image différente pour chaque enregistrement de la base de données.
On fait son publipostage normalement.
Constitution de la base de données
Un champ va contenir les chemins d'accès des images.
Les URL et chemin UNC sont supportés.
Les antislashs doivent être doublé pour les chemins UNC (C:\\MesDoc\\Pictures\\Animaux\\ours.jpg ou \\\\localhost\\Animaux\\araignée.jpg) mais pas les slash dans les URL (https://1forme.fr/wp-content/uploads/2023/06/Engrenage3.png).
Utiliser la commande Remplacer pour remplacer les "\" par "\\".
Les formats jpg, png, gif, tif, bmp sont supportés.
La nouvelle fonction IMAGE d'Excel ne peut pas être utilisé 😒.

Constitution du document principal de fusion
Pour ajouter le champ de fusion contenant les chemins d'accès des images, on va utiliser le champ Word inclureImage (INCLUDEPICTURE) de la catégorie Liaisons et renvois (ruban Insertion > QuickPart > Champs).
On saisit un texte libre dans la zone Nom de fichier ou URL par exemple "monImage" servant de repère visuel et qui sera remplacé par la suite par le champ de fusion.

On affiche les codes de champ via Alt + F9.

On remplace le repère "monImage" par le champ de fusion contenant les chemins d'accès des images en prenant soin de garder les guillemets.

On masque les codes de champ via Alt + F9 à nouveau.

Génération du document fusionné
Il faut obligatoirement générer un nouveau document via Modifier des documents individuels...

Une fois généré, pour mettre à jour toutes les images en une fois :
- CTRL + A pour tout sélectionner.
- F9 pour mettre à jour les images.
Dimensionnement des images
Solution 0 : Dimensionner les images avant de faire le publipostage (de nombreux outils gratuits existent pour cela).
Solution 1 : Avant de faire la fusion, placer le champ INCLUDEPICTURE dans un cadre (ajouter la commande Format du cadre à la barre d'outils d'accès rapide) et dimensionner celui-ci (non utilisable dans un tableau comme pour un publipostage d'étiquette).
Solution 2 : Utiliser une macro VBA.
Sub TailleImageINCLUDEPICTURE()
' Objectif : Dimensionner tous les champs INCLUDEPICTURE présent dans le document actif
' Utilisation : Modifier les valeurs de contantes intHauteur et intLargeur pour
' préciser la taille désirée.
' Auteur : Arnaud COTTIN (www.1forme.fr)
' Licence : CC-BY-NC-SA (Vous pouvez diffuser/partager/modifier cette macro dans les même conditions,
' seulement à titre personnel et citant l'auteur/site d'origine.
Const intHauteur As Integer = 60 ' Hauteur de l'image (à personnaliser)
Const intLargeur As Integer = 30 ' Largeur de l'image (à personnaliser)
Dim objChamp As Field
For Each objChamp In ActiveDocument.Fields
If objChamp.Type = wdFieldIncludePicture Then
objChamp.Result.InlineShapes(1).Height = intHauteur
objChamp.Result.InlineShapes(1).Width = intLargeur
End If
Next
End Sub
Merci pour votre attention bienveillante.
Bonjour,
J'ai utilisé votre méthode pour produire 1100 cartes d'adhérent;
Tout fonctionne à merveille, sauf un détail: environ 1 photo sur 10 arrive avec 1/4 de tour soit à gauche, soit à droite (peu fréquent)
Je n'ai pas encore trouvé le moyen de stabiliser le sens de la photo ?
bien entendu, lorsque je télécharge cette même photo, elle est dans le bon sens...
Merci de votre aide éclairée !
Bonjour Daniel,
Il n'y a pas de méthode pour "redresser" une image lors du publipostage.
Word prend l'image comme elle est réellement.
Ce qui peut être trompeur, c'est que si tu as visualisé l'image dans Windows et que tu l'as alors "redressée", Windows garde cette information de "visualisation"
L'image en elle même n'est pas modifiée (la preuve en est qu'aucune demande d'enregistrement n'est faite).
Plus tard si tu utilises cette image, certain logiciels exploitent cette information.
Même dans Word, en passant par Insertion>Image, l'image sera "redressée" mais pas si tu l'insères via des champs INCLUDEPICTURE !
La solution est de réellement redresser ces images via un logiciel.
ex : l'outil Photo de Windows (visualisateur par défaut de Windows)
Ne pas utiliser l'icone Pivoter (la 2eme en haut = visualisation) mais l'icone Modifier (1ere) puis Pivoter (en bas) puis Enregistrer