kombakom
Messages postés8Date d'inscriptionjeudi 7 avril 2005StatutMembreDernière intervention 5 octobre 2005
-
21 avril 2005 à 12:12
cs_Viviane
Messages postés26Date d'inscriptionmardi 26 février 2002StatutMembreDernière intervention20 mars 2009
-
21 avril 2005 à 14:58
Bonjour,
A partir d'Excel je voudrai lancer une macro Word sur plusieurs fichier Word sans pour autant que la Macro soit attachée à chaque .doc.
De plus, je voudrai faire passer des variable d'Excel à Word.
Merci bcp à celui qui m'aide.
Je vous colle le code que j'ai fait. La Macro Word ne se lance pas et je n'ai pas trouvé de solution pour les variables.
Macro Excel :
Sub OpenWord()
Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Dim t, s As String
s = "C:\Desktop\Test.doc"
t = Cells(1, 1)
Set wrdApp = CreateObject("Word.Application")
Set wrdDoc = wrdApp.Documents.Open("C:\Projet\Variables.doc")
Set myRange = wrdDoc.Content
myRange.Find.Execute FindText:="Var", ReplaceWith:=t, _
Replace:=wdReplaceAll
wrdDoc.Activate
wrdApp.Run "ezze.doc!Module1.GOLDORAK"
wrdApp.ActiveDocument.SaveAs s
For Each wrdDocument In wrdApp.Documents
wrdDocument.Close
Next
Set wrdApp = Nothing
End Sub
Macro Word :
Sub GOLDORAK()
For Each myShape In ActiveDocument.Shapes
myShape.Select
End With
Selection.Find.Execute Replace:=wdReplaceAll
Next
End Sub
J'aimerai qu'à la place de "non" et "YOUYOU" je puisse mettre des valeurs d'une feuille Excel (t par exemple).
PS : je lance la macro Word car je n'arrive pas à séléctionner les textbox de Word à partir de la macro Excel et à faire mes remplacements. Si quelqu'un trouve la solution, plus besoin de lancer le macro word.
cs_Viviane
Messages postés26Date d'inscriptionmardi 26 février 2002StatutMembreDernière intervention20 mars 20093 21 avril 2005 à 14:58
Bonjour !
Ci-joint le code. En espèrant que cela ira
1) sous Excell/vb
Faire référence à Word :
Outils/Refrences
Cliquer sur Microsoft Word 9.0 object library
2)
Sub Edition1()
Dim appWord As New Word.Application
Dim wdoc As New Word.Document
appWord.ShowMe
appWord.Visible = True
'Ouvre le document Word (Fichier.doc) et effectue une copie des données
Set wdoc = appWord.Documents.Open("J:\progs\OASIS\Bilan\Spécification1.doc", ReadOnly:=True)
With appWord
.Selection.WholeStory
.Selection.Copy
End With
' Copie des données WORD dans Excel
ThisWorkbook.Worksheets("Feuil1").Paste
' ' Fermeture de Word
appWord.Application.Quit
Application.CutCopyMode = False