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

7 réponses
Avatar
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

7 réponses

Avatar
francois.forcet
On 1 fév, 12:32, "Jac" wrote:
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 !!!

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

a écrit dans le message de news:
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" wrote:
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


Avatar
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

Avatar
Jac
... 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" a écrit dans le message de news:
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...

a écrit dans le message de news:

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" wrote:
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







Avatar
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

Avatar
Jac
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" a écrit dans le message de news:

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





Avatar
Jac
Merci Brunos,

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

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

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