Passage de l'argument à l'aide de l'instruction application.run en VBA5
cs_Beginner37
Messages postés35Date d'inscriptionvendredi 26 janvier 2007StatutMembreDernière intervention28 février 2011
-
12 août 2008 à 15:44
cs_Beginner37
Messages postés35Date d'inscriptionvendredi 26 janvier 2007StatutMembreDernière intervention28 février 2011
-
13 août 2008 à 12:06
Bonjour,
j'utilise l'instruction application.run pour faire passer des variables d'une macro à une autre. Mais j'ai un soucis. Voici, ce que je veux faire :
Sub Ouvrir_Excel()
'Declaration de l'objet
Dim obExcelApp As Object
Dim NomTable, Identifiant As String
NomTable= "Table1"
Identifiant= "Element1"
Set obExcelApp = CreateObject("Excel.Application")
obExcelApp.Visible = False
obExcelApp.Workbooks.Open ("C:\Autre_userform1")
obExcelApp.Application.Run "LaMacro", NomTable, Identifiant
End Sub
Ce module ne renvoie pas "Table1" ni "Element1" vers la macro "LaMacro" d'un autre classeur.
Mais quand je fais ce qui est dessous, cela fonctionne :
obExcelApp.Application.Run "LaMacro", Feuil1.Range("A1"), Feuil1.Range("A2")
avec Feuil1.Range("A1")= "Table1" et Feuil1.Range("A2")="Element1"
J'ai essayé d'autres variantes sans succès.
Comment peut-on écrire correctement : obExcelApp.Application.Run "LaMacro", arg1, arg2,... pour que les arguments (différentes variables) sont repris par l'autre macro en évitant de les copier dans des cellules ?
Merci de votre aide
A voir également:
Passage de l'argument à l'aide de l'instruction application.run en VBA5
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 12 août 2008 à 19:46
Salut,
je ne crois pas que ce soit un probleme d'appel mais plutot un probleme de reception de tes parametres. Montre nous comment tu receptionnes tes parametres