Bonjour,

Je cherche à exécuter une macro sous Excel (à laquelle j'envoie un argument) avec une macro Word.

Je suis arrivé au code suivant dans VBA Word :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Sub Test()
 
Xls_From_Word Name:="Nom"
 
End Sub
 
Function Xls_From_Word(Optional Name As String)
 
If IsMissing(Name) Then
    Name = "blablabla"
End If
 
Dim Xls As Excel.Application
Dim Wkb As Excel.Workbook
 
Set Xls = New Excel.Application
Xls.Visible = True
 
Set Wkb = Xls.Workbooks.Open("C:\Documents and Settings\MyWkb.xlsm")
Wkb.Application.Run "Macro_Xls", Name
Wkb.Activate
 
End Function
Et j'ai le code suivant sous VBA Excel (dans MyWkb.xlsm) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Sub Macro_Xls(Name As String)
 
Set objClasseur = Workbooks.Add
(...)
ChDir "C:\Documents and Settings"
ActiveWorkbook.SaveAs Filename:=Nom & ".xls", FileFormat:=xlExcel8
 
End Sub
Mais lorsque j'exécute ma macro Test(), ça plante à la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Wkb.Application.Run "Macro_Xls", Name
de la fonction Word.
Cela me renvoie l'erreur suivante :
Run-time error '450':
Wrong number of arguments or invalid property assignment
Je ne comprends pas...
J'ai biensûr activé la référence Excel dans Word (et vice-versa dans le doute).

Pouvez-vous m'aider ?
Merci d'avance.