Rechercher : dans
Par :

Insérer contenu cellule excel dans doc word

Dernière réponse le 30 oct 2009 à 14:38:34 ouh, le 9 jui 2008 à 11:59:26 
 Signaler ce message aux modérateurs

Bonjour c'est ouh,

Je solicite votre aide pour ce petit travail que je dois faire. J'ai beau chercher, je ne trouve pas comment faire.

J'ai un fichier excel dans lequel je rentre des données et qui me calcule tout un tas de chose et me mets les résultats dans des cellules.
J'aimerai faire une macro pour pouvoir ouvrir un documents word modèle (toujours le même) et y insérer à des endroits précis les données que j'ai rentrée et les résultats que m'a donné ma feuille de calcul.

Pour l'instant, je n'arrive qu'à ouvrir mon document word avec cette macro

Merci de me répondre.

Sub Macro1()
'
Dim oWdApp As Object
Dim WordDoc As Object
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
Set WordDoc = oWdApp.Documents.Open("H:\private\modele")

End With

Configuration: Windows 2000
Firefox 3.0

1

michel_m, le 9 jui 2008 à 12:15:11

Bonjour,

ci joint essais de liaisons Excel-word aller-retour qui pourront peut-être t'aider
http://cjoint.com/?hjmkAvmRmL

Michel

Répondre à michel_m

2

ouh, le 9 jui 2008 à 13:18:30

Merci merci

J'ai essayé de la faire fonctionné mais ça ne marche pas, j'ai la version 2003 de excel.
Je vais voir le code, voir si je peux faire quelque chose avec.

Répondre à ouh

3

michel_m, le 9 jui 2008 à 13:37:02

As tu coché les bibliothèques indiquées en début de code ?

Répondre à michel_m

4

ouh, le 9 jui 2008 à 13:55:45

Oui, j'aurais du le dire dans mon précédent mess.
Sauf que c'est microsoft word 11 object library.

quand je lance la macro en pas à pas, ça m'ouvre bien le fichier word joint, mais elle s'arrête à cette ligne
.Selection.TypeText (insert1)

et me dis "run time error 91, object variable or with block variable not set

voila, je comprend pas parce que l'objet cible est bien défini et ya écrit "with cible" juste avant !

Répondre à ouh

5

michel_m, le 9 jui 2008 à 14:09:57

Ca m'a fait le coup que tu m'as indiqué...

dans le doc word j'ai cliqué surla 1° ligne et depuis c'est OK; pourquoi: mystère! (c'est un vieux truc que j'ai ressorti du grenier)
en me relisant, je marque qu'il est déconseillé d'utiliser typetext. donc au besoin, tu mets cette ligne en commentaire.

Répondre à michel_m

6

ouh, le 9 jui 2008 à 14:24:27

J'avais essayé de faire ça, mais ça me mets le même message pour la ligne suivante.

ça ne me semblait pourtant pas trop compliqué de faire ça, j'ai pourtant fait des trucs bien compliqué sur excel depuis que j'ai découvert les macros ya 3 mois ^^

Mais ton fichier me donne un peu l'idée comment je dois m'y prendre. Donc deja un grand merci

Apparament, je peut placer des signets (ou bookmarks plutot (je suis stagiaire dans une entreprise belge, j'ai un ordi en néerlandais avec quelques programmes en anglais comme excel (ouff)))
Donc, je place mes signets dans mon documents word modèle.

Quand j'ouvre mon doc word avec ma macro excel, je me déplace jusqu'à mon signet à l'aide d'une commande que je ne connais pas encore et là je mets le contenu de la cellule d'excel dont j'ai besoin avec une autre commande que je ne connais pas encore, et rebelote je passe au signet suivant...
Puis j'enregistre mon document word avec un autre nom.

Voila

Répondre à ouh

7

michel_m, le 9 jui 2008 à 16:58:16

Re,

Je te mets un lien où tu as un panorama des liaisons Excel-Word et autres: ce sera certainement + efficace pour toi que mes bidouilles ;-)

http://www.excel-downloads.com/forum/92359-ref-wiki-page-3-d­e-michelxld.html

Michel

Répondre à michel_m

8

ouh, le 9 jui 2008 à 17:02:58

Merci bien Michel, je vois ça.
J'espère que j'aurais fini demain!

Je mettrai tout ça ici si jamais j'y arrive.

Répondre à ouh

9

ouh, le 10 jui 2008 à 15:43:52

Merci beaucoup pour ce lien qui propose tout plein de macros intéressantes, j'ai pas intérêt à le perdre celui la
Voila la macro que j'utilise pour mon problème qui est maintenant résolu!


sub export_données_dans_signet_word()
Dim WordApp As Word.Application
Dim WordDoc As Word.Document

Set WordApp = CreateObject("word.application") 'ouvre session word et le fichier voulu
Set WordDoc = WordApp.Documents.Open("H:\chemin du fichier") 'ouvre document Word
WordApp.Visible = False 'word masqué pendant l'operation

'dans le document word, il faut avoir placé des signets aux endroits qu'on veut remplir
'à l'endroit de chaque signet qui se trouve dans le fichier word on va inscrire le contenu des cellules
WordDoc.Bookmarks("nom du signet").Range.Text = Cells(numéro de ligne, numéro de colonne)
WordDoc.Bookmarks("nom du second signet").Range.Text = Cells(numéro de ligne, numéro de colonne)
etc...

WordApp.Visible = True 'affiche le document Word
'WordDoc.PrintOut 'si on veut imprimer

'WordDoc.Close True 'si on veut fermer le document word en sauvegardant les données
'WordApp.Quit 'ferme la session Word
End Sub

Répondre à ouh

10

 temperatio, le 30 oct 2009 à 14:38:34

Bonjour,

J'ai essayé de faire la macro de ouh sous excel 2007 et j'ai une erreur que je n'arrive pas à resoudre.

à la ligne :
WordDoc.Bookmarks("titre").Range.Text = Cells(1, 1)

erreur '91':
Variable objet ou variable de bloc With non définie.

Côté word j'ai fait :
Insertion > Signet > "le nom du signet" > ajouter

merci pour votre aide

Répondre à temperatio