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

Le
Jac
Bonjour à tous,

j'ai un document Word avec des champs de fusion qui s'appuie sur un fichier
Excel qui ne contient qu'une seule ligne. De cette façon, je peux afficher
en une "fiche" les variables contenues dans 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 sélectionner une ligne de ma base
de données, génère le fichier Excel qui contient la ligne de données de
fusion, et 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.Add("c:LA_FICHE.doc")
mais, le problème, c'est qu'il est ouvert sans le lien vers mon fichier de
données, les champs de fusion étant bien présent.

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

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

Jac
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
francois.forcet
Le #5145541
On 1 fév, 12:32, "Jac"
Bonjour à tous,

j'ai un document Word avec des champs de fusion qui s'appuie sur un fichie r
Excel qui ne contient qu'une seule ligne. De cette façon, je peux affich er
en une "fiche" les variables contenues dans 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 sélectionner une ligne de ma ba se
de données, génère le fichier Excel qui contient la ligne de donné es de
fusion, et ouvre mon *.doc afin d'afficher mon publipostage. L'ouverture d e
Word est correctement paramétrée. Le doc est ouvert par
Set Dc = Wd.Documents.Add("c:LA_FICHE.doc")
mais, le problème, c'est qu'il est ouvert sans le lien vers mon fichier de
données, les champs de fusion étant bien présent.

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

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

Jac


Salut Jac

Je peux difficilement essayer ta procédure sans avoir l'intégralité du
contexte en ma possession
Mais a première vue au lieu de :

Set Dc = Wd.Documents.Add("c:LA_FICHE.doc")

je mettrais :

Set Dc = Wd.Documents.Open("c:LA_FICHE.doc")

pour ouvrir ton document

La procédure globale étant :

Dim Wd As Object
Set Wd = CreateObject("Word.Application")
With Wd
.Visible = True
Set Dc = Wd.Documents.Open("c:LA_FICHE.doc")
End With

Je n'ai pas essayé mais peut être ta planche de salut
Dis moi !!!

Jac
Le #5284441
Bonjour François,

ce que j'utilise correspond tout à fait à ce que tu préconises. Add ou Open
me renvoient exactement la même chose exepté le titre (Documentx pour Add
et LA_FICHE pour Open). Normal.
Mais reste le problème, dans les deux cas, de la fusion qui n'est pas
fonctionnelle : la source de données n'est pas activée, donc l'affichage ne
correspond pas aux données actuelles de mon fichier Excel.
Alors que quand je double clique sur le fichier (c:LA_FICHE.doc),
la fusion est au rendez-vous.
Donc en fait, il faudrait ouvrir la source de données par vba ???
Et là, il ne ma manque que la syntaxe...

Jac

Je peux difficilement essayer ta procédure sans avoir l'intégralité du
contexte en ma possession. Mais a première vue au lieu de :

Set Dc = Wd.Documents.Add("c:LA_FICHE.doc")
je mettrais :
Set Dc = Wd.Documents.Open("c:LA_FICHE.doc")
pour ouvrir ton document
La procédure globale étant :
Dim Wd As Object
Set Wd = CreateObject("Word.Application")
With Wd
.Visible = True
Set Dc = Wd.Documents.Open("c:LA_FICHE.doc")
End With

Je n'ai pas essayé mais peut être ta planche de salut
Dis moi !!!


On 1 fév, 12:32, "Jac"
Bonjour à tous,

j'ai un document Word avec des champs de fusion qui s'appuie sur un
fichier
Excel qui ne contient qu'une seule ligne. De cette façon, je peux afficher
en une "fiche" les variables contenues dans 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 sélectionner une ligne de ma base
de données, génère le fichier Excel qui contient la ligne de données de
fusion, et 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.Add("c:LA_FICHE.doc")
mais, le problème, c'est qu'il est ouvert sans le lien vers mon fichier de
données, les champs de fusion étant bien présent.

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

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

Jac


Brunos
Le #5284391
Dans un fichier Excel, une macro me fait sélectionner une ligne de ma base de
données, génère le fichier Excel qui contient la ligne de données de fusion,
et 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.Add("c:LA_FICHE.doc")
mais, le problème, c'est qu'il est ouvert sans le lien vers mon fichier de
données, les champs de fusion étant bien présent.

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


Bonjour Jac,
Une idée comme ça:
As-tu essayé un enregistrement macro sous word pour voir quel code
génère la connexion avec un fichier excel ?

--
Brunos

Jac
Le #5284381
... 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.

"Jac" eH%
Bonjour François,

ce que j'utilise correspond tout à fait à ce que tu préconises. Add ou
Open
me renvoient exactement la même chose exepté le titre (Documentx pour Add
et LA_FICHE pour Open). Normal.
Mais reste le problème, dans les deux cas, de la fusion qui n'est pas
fonctionnelle : la source de données n'est pas activée, donc l'affichage
ne
correspond pas aux données actuelles de mon fichier Excel.
Alors que quand je double clique sur le fichier (c:LA_FICHE.doc),
la fusion est au rendez-vous.
Donc en fait, il faudrait ouvrir la source de données par vba ???
Et là, il ne ma manque que la syntaxe...


Jac

Je peux difficilement essayer ta procédure sans avoir l'intégralité du
contexte en ma possession. Mais a première vue au lieu de :

Set Dc = Wd.Documents.Add("c:LA_FICHE.doc")
je mettrais :
Set Dc = Wd.Documents.Open("c:LA_FICHE.doc")
pour ouvrir ton document
La procédure globale étant :
Dim Wd As Object
Set Wd = CreateObject("Word.Application")
With Wd
.Visible = True
Set Dc = Wd.Documents.Open("c:LA_FICHE.doc")
End With

Je n'ai pas essayé mais peut être ta planche de salut
Dis moi !!!


On 1 fév, 12:32, "Jac"
Bonjour à tous,

j'ai un document Word avec des champs de fusion qui s'appuie sur un
fichier
Excel qui ne contient qu'une seule ligne. De cette façon, je peux
afficher
en une "fiche" les variables contenues dans 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 sélectionner une ligne de ma
base
de données, génère le fichier Excel qui contient la ligne de données de
fusion, et 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.Add("c:LA_FICHE.doc")
mais, le problème, c'est qu'il est ouvert sans le lien vers mon fichier
de
données, les champs de fusion étant bien présent.

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

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

Jac







Brunos
Le #5284341
... 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.


Je te conseille de poster sur microsoft.public.fr.word.
Ton pb est plus au niveau de word qu'excel.

--
Brunos

Jac
Le #5284321
Oui, bien sûr, mais comme je le dis plus haut :

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

"Brunos"
Dans un fichier Excel, une macro me fait sélectionner une ligne de ma
base de données, génère le fichier Excel qui contient la ligne de données
de fusion, et 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.Add("c:LA_FICHE.doc")
mais, le problème, c'est qu'il est ouvert sans le lien vers mon fichier
de données, les champs de fusion étant bien présent.

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


Bonjour Jac,
Une idée comme ça:
As-tu essayé un enregistrement macro sous word pour voir quel code génère
la connexion avec un fichier excel ?

--
Brunos





Jac
Le #5284141
Merci Brunos,

j'ai renvoyé lé bébé sur le forum Word.

"Brunos"
... 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.


Je te conseille de poster sur microsoft.public.fr.word.
Ton pb est plus au niveau de word qu'excel.

--
Brunos



Publicité
Poster une réponse
Anonyme