Excel / Word macro à lancer et Textbox

kombakom Messages postés 8 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 5 octobre 2005 - 21 avril 2005 à 12:12
cs_Viviane Messages postés 26 Date d'inscription mardi 26 février 2002 Statut Membre Dernière intervention 20 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

Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "non"
.Replacement.Text = "YOUYOU"
.Forward = True
.Wrap = wdFindContinue


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.

Merci énormément à ceux qui me répondront.

1 réponse

cs_Viviane Messages postés 26 Date d'inscription mardi 26 février 2002 Statut Membre Dernière intervention 20 mars 2009 3
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



' Copier DonneesExcel Vers Word()
Range("A1:B6").Copy
Set WW = CreateObject("word.application")
WW.Visible = True
WW.Documents.Add
WW.Selection.PasteSpecial Link:= False , DataType:=wdPasteText, Placement:= _
wdInLine , DisplayAsIcon:=False

Viviane44
0
Rejoignez-nous