Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Ouvrir modèle Word.dot et remplir signet

832 views
Skip to first unread message

G.D.

unread,
Mar 23, 2002, 11:07:12 AM3/23/02
to
Bonjour,
Je voudrais, à partir d'Excel, créer un document Word à partir d'un modèle
.dot défini.
Dans ce modèle Word qui contient un formulaire, donc des "zones de saisie"
qui correspondent à des signets, je veux remplir ces zones de saisie à
partir de données Excel.
Quelles sont les instructions VBA qui :
- ouvrent un modèle Word pour en faire un document
- remplissent une zone/signet
Merci pour toute aide !

Gérard Ducouret

j@c

unread,
Mar 23, 2002, 1:58:14 PM3/23/02
to
pour ouvrir un nouveau doc sous le modèle zaza :
Documents.Add "C:\Program Files\Microsoft Office\Modèles\norma1l.dot", False

pour faciliter la suite on peut dire
set doct=Documents.Add "C:\Program Files\Microsoft
Office\Modèles\norma1l.dot", False

et manipuler l'objet doct

pour piloter ww à partir d'Excel, voir
http://jacxl.free.fr/cours_xl/cours_xl_jac.html#WWexXL

si ça ne marche pas, reviens sur le forum


"G.D." <gerard....@wanadoo.fr> a écrit dans le message news:
#yCE8So0BHA.2816@tkmsftngp05...

j@c

unread,
Mar 23, 2002, 2:02:24 PM3/23/02
to
zut, zaza s'est létamorphosée, fallait lire
Documents.Add "Documents.Add "C:\Program Files\Microsoft

Office\Modèles\norma1l.dot", False
\zaza.dot", False
(à condition bien sur que le modèle soit dans Documents.Add "C:\Program
Files\Microsoft Office\Modèles\norma1l.dot", False)


"j@c" <jacques....@noos.fr> a écrit dans le message news:
e1bC3up0BHA.1160@tkmsftngp04...

G.D.

unread,
Mar 23, 2002, 3:06:07 PM3/23/02
to
Merci J@c,
Je vais travailler çà!

Gérard

"j@c" <jacques....@noos.fr> a écrit dans le message de news:
eBw1Lxp0BHA.2508@tkmsftngp03...

Anacoluthe

unread,
Mar 24, 2002, 4:23:25 AM3/24/02
to
Bonjour !

= Remplir un formulaire Word avec des données Excel

La question de Gérard n'est pas très claire :
- Word possède les outils de fusion pour ce sujet
sans avoir besoin en principe de programmation
- un formulaire Word est d'ordinaire construit sur
des {champs} plutôt que sur des [signets]

Néanmoins pour répondre à la première partie
de la question voici comment *depuis Excel*
créer un nouveau document Word à partir d'un modèle

Public Sub FormulaireDansWord()
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = True
WordApp.Documents.Add ("MonFormulaire.dot")
End Sub

le fichier .dot du modèle doit être dans le répertoire
des modèles Word sinon préciser son chemin complet


Anacoluthe
« Quel est le plus long chemin d’un point à un autre ? »
- Jean Tardieu


"G.D." a écrit

G.D.

unread,
Mar 24, 2002, 5:56:29 AM3/24/02
to
Bonjour Anacoluthe,
Les données d'Excel que je veux placer dans le document Word ne sont pas
rangées en base de données et ne se prêtent donc pas à une
fusion/publipostage. De plus, des données en provenance de Ms Project
devront aussi être insérées.... Mais si je sais le faire pour l'un, je
saurais le faire pour l'autre...
Je ne suis pas expert en Word, mais il me semble avoir remarqué que les
zones de texte d'un formulaire correspondaient à autant de signets. D'où ma
question : comment ces zones ou signets ou champs. Mais il y a peut être une
approche plus immédiate?
Merci pour toute suggestion.

Gérard

"Anacoluthe" <nopub_...@wanadoo.fr> a écrit dans le message de news:
a7k5ss$185$1...@wanadoo.fr...

G.D.

unread,
Mar 24, 2002, 7:42:18 AM3/24/02
to
Je voulais dire : comment *remplir* ces zones ou signets ou champs?
Merci,

Gérard


Anacoluthe

unread,
Mar 24, 2002, 11:44:02 AM3/24/02
to
re Bonjour !

Le partage de données Excel -> Word peut prendre de multiples pistes

- les données non structurées peuvent souvent être structurées
dans un feuille spéciale destinée à une fusion dans Word
- les objets excel depuis la simple cellule jusqu'au graphique
peuvent être incorporés ou liés dans un document word
(copier / collage spécial / ..Excel Objet) +/- avec liaison

Concernant la programmation vba, la syntaxe
application.objet.méthode/propriété est la même partout :
Exemple:
depuis excel copier la valeur de la cellule A1 de la feuille Feuil1
du classeur courant dans le 3ème champ-texte formulaire
du document Word MonDoc.doc s'écrit (simplement??) :

WordApp.Documents("MonDoc.doc").FormFields(3).Result = _
ActiveWorkbook.Sheets("Feuil1").Range("A1").Value

Cette instruction suppose
1. Excel actif avec un classeur ouvert
2. Une instance WordApp de Word a été créée (CreateObject)
3. Le fichier MonDoc ouvert dans cette instance ( open )
4. Au moins 3 champs de formulaire dans MonDoc.doc

Pour placer la même valeur à l'endroit du signet « bingo »
WordApp.Documents("MonDoc.doc").Bookmarks("bingo").Range.Text = _
ActiveWorkbook.Sheets("Feuil1").Range("A1").Value
etc .. etc ...

Simple vba ?
Pas tant que ça : vba est le roi de la bidouille et de l'embrouille
il est difficile d'écrire du code propre pour des utilisateurs externes
(gestion de toutes les situations, gestion des erreurs etc)

Aussi nous ne le répéterons jamais assez :
N'utilisez VBA que si vraiment il n'y a pas moyen de faire autrement
... et il y a presque toujours moyen de faire autrement !!!!!

Bon courage

Anacoluthe
Va Bien Absent


"G.D." a écrit


> Les données d'Excel que je veux placer dans le document Word ne sont pas
> rangées en base de données et ne se prêtent donc pas à une
> fusion/publipostage. De plus, des données en provenance de Ms Project
> devront aussi être insérées.... Mais si je sais le faire pour l'un, je
> saurais le faire pour l'autre...
> Je ne suis pas expert en Word, mais il me semble avoir remarqué que les
> zones de texte d'un formulaire correspondaient à autant de signets. D'où
ma
> question : comment ces zones ou signets ou champs. Mais il y a peut être
une
> approche plus immédiate?

> Je voulais dire : comment *remplir* ces zones ou signets ou champs?
> Merci,
>
> Gérard

Anacoluthe

unread,
Mar 24, 2002, 12:22:31 PM3/24/02
to
Oupsss...

Je me suis fait piéger par Gérard qui a posté dans mpfe et mpfw !!!

Chers excellants oubliez tout ce que j'ai dit sur VBA :-)))

Anacoluthe (uniquement sur word en principe)
« Si tout ici-bas était excellent, il n’y aurait plus rien d’excellent »
- DIDEROT


0 new messages