Excel / Word macro à lancer et Textbox - VB/VBA/VBS - Programmation
MarshPosté le 21-04-2005 à 14:20:06
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.
Marsh Posté le 21-04-2005 à 14:20:06
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.