OVH Cloud OVH Cloud

Piloter une fusion

14 réponses
Avatar
Furion
Bonsoir à tous !

Malgré mes recherches je plante toujours sur ce problème :

Je veux qu'une fois que l'utilisateur a saisi ses informations dans un
tableau Excel, il lui suffise de cliquer sur un bouton pour déclencher la
fusion avec un document Word.

Est ce possible et si quelle macro écrire pour que ce soit le plus simple
possible pour l'utilisateur ?

Merci à tous ceux qui pourront me mettre sur la voie! Bonne nuit !

4 réponses

1 2
Avatar
Pierre Fauconnier
Bonjour

Vu les développements que tu as mentionné plus bas dans ce fil, je pense que
le publipostage n'est pas adapté à ton cas.

Il me semblerait plus intéressant de créer un document Word avec des signets
prédéfinis, puis, dans Excel, d'ouvrir ce document par VBA et de remplacer
les signets par les données en provenance d'Excel.

Si tu ne vois pas comment faire, reviens et je tenterai de détailler

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci


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

Bonsoir à tous !

Malgré mes recherches je plante toujours sur ce problème :

Je veux qu'une fois que l'utilisateur a saisi ses informations dans un
tableau Excel, il lui suffise de cliquer sur un bouton pour déclencher la
fusion avec un document Word.

Est ce possible et si quelle macro écrire pour que ce soit le plus simple
possible pour l'utilisateur ?

Merci à tous ceux qui pourront me mettre sur la voie! Bonne nuit !


Avatar
Pierre Fauconnier
Bonjour

En complément à ma première réponse, je te propose le code suivant. Il faut
pour cela que tu coches "Microsoft Word 9.0 Object library" ( version Office
2000).

Tu crées dans Word un document en plaçant tes signets où tu le souhaite.
Excel va ouvrir le document Word, passer de signet en signet et injecter les
données des cellules voulues dans le document. Après, impression, fermeture
sans sauver pour garder le document initial, et nettoyage de l'objet
utilisé.

Sub Injection_Word()
Dim MonDocument As Word.Document

Set MonDocument = Word.Documents.Open("c:donnéessignets.doc")
MonDocument.Select
With MonDocument
.Bookmarks("Titre").Select
Word.Selection.TypeText Range("a2")
.Bookmarks("Adresse").Select
Word.Selection.TypeText Range("b2")
.PrintOut
End With
MonDocument.Close savechanges:úlse
Set MonDocument = Nothing

End Sub

De multiples variantes sont possibles, selon que tu veux utiliser un modèle,
sauver le document word avec les données, etc.

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

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

Bonsoir à tous !

Malgré mes recherches je plante toujours sur ce problème :

Je veux qu'une fois que l'utilisateur a saisi ses informations dans un
tableau Excel, il lui suffise de cliquer sur un bouton pour déclencher la
fusion avec un document Word.

Est ce possible et si quelle macro écrire pour que ce soit le plus simple
possible pour l'utilisateur ?

Merci à tous ceux qui pourront me mettre sur la voie! Bonne nuit !


Avatar
Furion
Merci beaucoup Clément et Pierre, vous m'êtes d'un grand secours !

La solution de Pierre serait idéal en fait, je connaissais pas cette
histoire de signets. Il me reste plus qu'à apprendre à m'en servir. ton code
a l'air assez simple à développer en plus. Merci beaucoup
Avatar
Furion
Je viens d'essayer ton code mais j'y arrive pas !

Il apprécie pas la déclaration de la variable Mondocument. En plus je
comprends pas grand chose à ces signets : ça ne laisse pas de trace visuelle
quand tu l'insère dans un document.

J'ai pas trouvé non plus l'option "Microsoft Word 9.0 Object library" mais
je cherche !
1 2