[VBA-Excel] Comment écrire dans signet WORD ?

Fermé
Franck92110 Messages postés 2 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 8 novembre 2009 - 8 nov. 2009 à 16:32
 Betty - 29 mars 2010 à 19:11
Bonjour,
Je dois rappatrier des données d'Excel vers un document Word.
J'ai créé des signets dans Word à cette fin (ici l'exemple d'un seul signet). Mais j'obtiens l'erreur "La classe ne gère pas l'automation ou la classe attendue". J'ai pourtant coché dans menu Références/Outils : Microsoft Word, Excel, Office 10.0 Object Library, Forms 2.0 Library, Visual Basic For Application et même Microsoft DAO 3.6 Object Library et OLE Automation. Rien n'y a fait. Pouquoi ?
Merci de votre aide. Voici mon code :

Sub Trt_fiche(chefdesecteur As String, comptable As String, ByRef secteur As String, ByRef numerodefiche As String, ByRef redacteur As String, numCGL As String, JCPC As String, ByRef datesaisie As Date, datecomptable As Date, sensCpte1 As String, lettre1 As String, cpte1 As String, specCpte1 As String, sensCpte2 As String, lettre2 As String, cpte2 As String, specCpte2 As String, montant As String, libelle As String)
Dim var1 As String
Dim var2 As Integer
Dim chemin As String
Dim prefixecomptable As String
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
chemin = "C:\Users\acer\Desktop\5-11-2009 bis bureau"

' Ouvre session word
Set WordApp = New Word.Application

' Ouvre document Word
Set WordDoc = WordApp.Documents.Open(chemin & "\modele.doc")

' Word est visible pendant l'opération
WordApp.ShowMe
WordApp.Visible = True

' Ecriture document au signet 'secteur'
WordDoc.Bookmarks.Item ("secteur")
WordDoc.Bookmarks("secteur").Range.Text = secteur
With WordDoc.Bookmarks("secteur")
.Range.Font.Size = 14
.Range.Bold = wdToggle
.Range.Italic = wdToggle
End With
Application.DisplayAlerts = True

(..id..)

' Sauvegarde
'WordApp.ActiveDocument.SaveAs chemin & "\fic"
WordDoc.SaveAs "C:\Users\acer\Desktop\5-11-2009 bis bureau\fic"

' Fermeture
'WordApp.ActiveDocument.Close
'WordApp.ActiveDocument.Quit
'Set WordApp = Nothing
'Set WordDoc = Nothing
WordDoc.Close True
WordApp.Quit
Exit Sub
A voir également:

2 réponses

Franck92110 Messages postés 2 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 8 novembre 2009
8 nov. 2009 à 17:00
Je précise que le message d'erreur se situe sur la ligne suivante :

Set WordApp = New Word.Application

Et si j'écris à la place Set WordApp = CreateObject("Word.Application"), j'ai aussi la même erreur ou une erreur de type.

Merci d'avance
Cordialement
Franck
0
Salut Franck92210,

Il faut que tu ailles dans le menu Outils/Références et que tu coches la case "Microsoft Word 10.0 Object library"

ainsi ta macro saura quoi faire de l'instruction "New Word.Application"

++

Boulaf
0
Bonjour,
Je ne sais pas si le sujet est toujours d'actualité..
En tout cas, je me permets de te répondre.
Pour ouvrir un document Word, ou un classeur Excel, tu n'as qu'à utiliser ton objet Word , ou instance de l'objet, fraichement créé de cette façon :
WordApp.Documents.Open chemin & "\modele.doc"
WordApp.Visible = True
et là soit tu utilises le document Word, soit tu fais l'assignation suivante :
Set WordDoc = WordApp.ActiveDocument

J'espère que cela t'aideras.
0
Ramgo

Je voix que tu as des connaissance en VBA et j'ai besoin d'aide

Voilà, j'ai un fichier excel contenant des données et des graphiques, et je dois réaliser un script en vba permettant de créé un document word et d'y insérer des tableaux, graphiques provenant du fichier Excel.

Donc, j'arrive à ouvrir le fichier word et Excel, copier les données provenant d'Excel, mais je ne sais pas du tout comment les coller à l'endroit que je le désire (par exemple après un titre) sur mon document Word.

Pouvez vus m'aider ??? mon mail et labbassi9@gmail.com
0