Vb et macro excel

jraynald - 18 mars 2001 à 16:31
cs_raver2046 Messages postés 22 Date d'inscription mercredi 25 septembre 2002 Statut Membre Dernière intervention 23 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?

14 réponses

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

Bonne Cheance
0
laurent207 Messages postés 101 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 11 avril 2008
24 févr. 2003 à 10:52
salut, est-t-il possible d'envoyer des paramétres à cette macro ?

laurent207
0
cs_Watergate Messages postés 8 Date d'inscription lundi 9 avril 2001 Statut Membre Dernière intervention 15 septembre 2003
24 févr. 2003 à 12:19
Bonjour,

Quels genres de paramètres veux-tu envoyer à cette macro.

Christophe dit Watergate
0
laurent207 Messages postés 101 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 11 avril 2008
24 févr. 2003 à 17:21
des paramétres de type string et integer

laurent207
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Watergate Messages postés 8 Date d'inscription lundi 9 avril 2001 Statut Membre Dernière intervention 15 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.Run(Macro, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27, Arg28, Arg29, Arg30)

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

Bonne chance

Christophe dit Watergate
0
laurent207 Messages postés 101 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 11 avril 2008
24 févr. 2003 à 19:09
Merci, j'essayerai ça demain, je te dirai si j'y suis arrivé.

laurent207
8-)
0
laurent207 Messages postés 101 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 11 avril 2008
24 févr. 2003 à 20:08
une question pourquoi tu as déclaré i ?

laurent207
0
cs_Watergate Messages postés 8 Date d'inscription lundi 9 avril 2001 Statut Membre Dernière intervention 15 septembre 2003
25 févr. 2003 à 08:55
Pour rien.
J'ai piqué un bout de code dans un de mes prog, et il y avait une déclaration que j'ai oublié de zappé.

Water
0
laurent207 Messages postés 101 Date d'inscription jeudi 31 janvier 2002 Statut Membre Dernière intervention 11 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 :

ActiveChart.SeriesCollection(1).Values = "=[Stats.xls]" & NomDGA & "!R74" & Lettre(iDir) & "3:R75" & Lettre(iDir) & "3"

Tu sais d'où ça vient ?

laurent207
0
maitrekanter59 Messages postés 9 Date d'inscription lundi 10 février 2003 Statut Membre Dernière intervention 15 avril 2003
28 févr. 2003 à 10:33
je recherchais justement qqch dans ce genre là, merci pour ton aide Watergate!

On ne peut rien faire à l'affaire, quand on est con, on est con!
- George Brassens -
0
Rrominet Messages postés 133 Date d'inscription lundi 26 janvier 2009 Statut Membre Dernière intervention 24 novembre 2014 1
3 mars 2006 à 10:38
Merci pour cette aide qui m'a bien dépanné :-)
0
cs_raver2046 Messages postés 22 Date d'inscription mercredi 25 septembre 2002 Statut Membre Dernière intervention 23 avril 2009
29 mars 2006 à 12:21
alors moi j'ai un soucis ma macro excel n'appel pas de sous procédures, function inclues dans la sub de départ pouquoi?
0
Rrominet Messages postés 133 Date d'inscription lundi 26 janvier 2009 Statut Membre Dernière intervention 24 novembre 2014 1
29 mars 2006 à 17:40
raver2046 : Uh ?
0
cs_raver2046 Messages postés 22 Date d'inscription mercredi 25 septembre 2002 Statut Membre Dernière intervention 23 avril 2009
29 mars 2006 à 20:44
j'ai viré eurotool.xla et sa marche va savoir.

Raver2046 & hypnowarez.org rulezz
0
Rejoignez-nous