jraynald
-
18 mars 2001 à 16:31
cs_raver2046
Messages postés22Date d'inscriptionmercredi 25 septembre 2002StatutMembreDernière intervention23 avril 2009
-
29 mars 2006 à 20:44
est-il possible à partir d'un programme visual basic ouvrir un fichier excel et lancer une macro appartenant à ce fichier?
2 solutions:
Ci dessous un exemple. essai.xls contient une macro qui se nomme Macro1
Private Sub Form_Load()
On Error Resume Next
Dim Objexc As Object
Dim I As Integer
Set Objexc = CreateObject("Excel.Application")
Objexc.Visible = True
Workbooks.Open ("C:Infoessai.xls")
Application.Run "essai.xls!Macro1"
End Sub
cs_Watergate
Messages postés8Date d'inscriptionlundi 9 avril 2001StatutMembreDernière intervention15 septembre 2003 24 févr. 2003 à 18:56
Cela donne quelque chose du genre:
Private Sub Form_Load()
On Error Resume Next
Dim Objexc As Object
Dim I As Integer
Set Objexc = CreateObject("Excel.Application")
Objexc.Visible = True
Workbooks.Open ("c:\Infoessai.xls")
Application.Run ("Infoessai.xls!Macro1", arg1, arg2)
End Sub
Je t'ai fait une copie de l'aide Microsoft:
Cette méthode exécute une macro ou appelle une fonction. Elle peut être utilisée pour exécuter une macro écrite en Visual Basic ou dans le langage de macro de Microsoft Excel ou pour exécuter une fonction dans une DLL ou une XLL.
expression Obligatoire. Expression qui renvoie un objet Application.
Macro Argument de type Variant facultatif. Macro à exécuter. Il peut s'agir d'une chaîne de caractères contenant le nom de la macro, d'un objet Range indiquant l'endroit où se trouve la fonction ou encore d'un identificateur de Registre pour une fonction DLL (XLL) inscrite dans le Registre. En cas d'utilisation d'une chaîne de caractères, celle-ci sera évaluée dans le contexte de la feuille active.
Arg1-Arg30 Argument de type Variant facultatif. Arguments à transmettre à la fonction
laurent207
Messages postés101Date d'inscriptionjeudi 31 janvier 2002StatutMembreDernière intervention11 avril 2008 25 févr. 2003 à 10:03
ça me met la ligne en rouge
Public Appli As Object
Set Appli = CreateObject("Excel.application")
Appli.Visible = True
Appli.Workbooks.Open FileName:=App.Path & "\Stats.xls"
Appli.Workbooks.Open FileName:=App.Path & "\Graphiques.xls"
Appli.Run ("Gaphiques.xls!Graphs", NomDGA)
il n'y a pas un moyen pour coller le code dela macro dans vb6 pour y mettre les paramétres ? J'ai essayé mais il plante au moment de changer l'adresse des données source. Il me fait erreur 1004 "Impossible de définir la propriété Values de la classe Series". VB6 plante sur la ligne :