Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Perte de la fusion lors de l'ouverture d'un *.doc par macro Excel

1 réponse
Avatar
Jac
Bonjour à tous,

j'ai un document Word avec des champs de fusion qui s'appuie sur un fichier
Excel.

Quand j'ouvre le document Word par double click, un message m'annonce que
les "données de ma base de données seront placées dans le document...". Je
valide et le doc se met à jour des données actuelles d'Excel.

Dans un fichier Excel, une macro me fait faire une sélection de fiche et
renplace le fichier cible de mon publipostage puis ouvre, mon *.doc afin
d'afficher mon publipostage. L'ouverture de Word est correctement
paramétrée. Le doc est ouvert par
...
Set Dc = Wd.Documents.Open("c:\LA_FICHE.doc")
ou par
Set Dc = Wd.Documents.Add("c:\LA_FICHE.doc")
ce qui donne le même résultat.

Mais, le problème, c'est que le fichier est ouvert sans le lien vers mon
fichier de données, les champs de fusion étant bien présent.

J'ai récupéré dans Word et adapté dans Excel le vba de l'attachement à la
source :
Wd.MailMerge.OpenDataSource Name:=.......
mais rien ne se passe.

Qu'est-ce qui manque pour que ça fonctionne ?

Merci d'avance à qui me mettra sur la voie.

Jac

1 réponse

Avatar
heureux-oli
Bonjour,

MailMerge s'applique à un document, si j'ai bien lu ton code, tu applique à
l'application.

Dim wApp as Word.Application
Dim oDoc as Word.Document

Set wApp = GetObject(,"Word.Application")
Set oDoc = wApp.Documents.Open (" c: .......")
oDoc.MailMerge.OpenDataSource Name:
Petite précision, Add et Open n'ont pas vraiment le même effet.

Add est prévu pour être utilisé avec un modèle *.dot et va créer un nouveau
document vide basé sur ce modèle.

Open va ouvrir un document et peut être utilisé sur un *.doc et *.dot.

Le résultat semble pareil, mais il ne l'est pas totalement.


--
Heureux-oli
http://heureuxoli.developpez.com/

----------------------------------------------------------------------------------

"Jac" a écrit dans le message de news:

Bonjour à tous,

j'ai un document Word avec des champs de fusion qui s'appuie sur un
fichier Excel.

Quand j'ouvre le document Word par double click, un message m'annonce que
les "données de ma base de données seront placées dans le document...". Je
valide et le doc se met à jour des données actuelles d'Excel.

Dans un fichier Excel, une macro me fait faire une sélection de fiche et
renplace le fichier cible de mon publipostage puis ouvre, mon *.doc afin
d'afficher mon publipostage. L'ouverture de Word est correctement
paramétrée. Le doc est ouvert par
...
Set Dc = Wd.Documents.Open("c:LA_FICHE.doc")
ou par
Set Dc = Wd.Documents.Add("c:LA_FICHE.doc")
ce qui donne le même résultat.

Mais, le problème, c'est que le fichier est ouvert sans le lien vers mon
fichier de données, les champs de fusion étant bien présent.

J'ai récupéré dans Word et adapté dans Excel le vba de l'attachement à la
source :
Wd.MailMerge.OpenDataSource Name:=.......
mais rien ne se passe.

Qu'est-ce qui manque pour que ça fonctionne ?

Merci d'avance à qui me mettra sur la voie.

Jac