Bonjour à vous deux,
Je vous remercie vivement pour vos réponses.
Après de longues heures, j'ai finalement trouver une solution de contournement.
En voici les grandes lignes :
Lorsque le document maitre est généré, j'identifie la shape qui contient l'image en lui ayant donnée un nom dans le modèle Word, ici "IMAGE".
Le bug est déclenché si la fusion de word détecte un chemin de fichier dans les champs de publipostage! Greuh !
il faut donc enlever le lien sur l'image avec Fields.Unlink :
Dim wshp As Object
With MyWord
For Each wshp In .ActiveDocument.Shapes
If wshp.Name = "IMAGE" Then
wshp.Select
**.selection.Fields.Unlink**
End If
Next wshp
End With
Faire la fusion normalement:
MyWord.ActiveDocument.MailMerge.Destination = 0 ' wdSendToNewDocument
MyWord.ActiveDocument.MailMerge.SuppressBlankLines = True
MyWord.ActiveDocument.MailMerge.Execute pause:=False
Positionner le document maître sur son premier enregistrement :
With DocPrincipal.MailMerge.DataSource
.ActiveRecord = -4 ' wdFirstRecord
**DTposition = .ActiveRecord**
End With
Scanner le document de fusion obtenu pour mettre l'image depuis le chemin contenu dans datasource du document maître.
Il est important d'utiliser l'option False sur le second paramètre de AddPicture sinon le bug réapparaît.
With MyWord
For Each wshp In .ActiveDocument.Shapes
If wshp.Name = "IMAGE" Then
wshp.Select
'avant bug maj 2106 Microsoft
'.selection.Fields.update
DocPrincipal.MailMerge.DataSource.ActiveRecord = **DTposition**
Set oWdShp = MyWord.selection.InlineShapes().AddPicture(DocPrincipal.MailMerge.DataSource.DataFields("IMAGE").Value, **False**, True)
**DTposition = DTposition + 1**
End If
Next wshp
End With
Souhaitant que cette solution , supposée temporaire …, puisse vous aider.