Rechercher : dans
Par :

[VBA Project] Exécution d'une macro Excel

Dernière réponse le 31 jui 2009 à 12:03:10 chris_chocolat, le 14 sep 2007 à 10:36:22 
 Signaler ce message aux modérateurs

Bonjour,

Je travaille sous Project (2003) et j’utilise des macros.

J’aimerai savoir s’il est possible (et si oui, comment !!!) de spécifier dans le code VBA de Project :
• d’ouvrir un fichier un Excel,
• et de lancer l’exécution d’une macro de ce fichier.
• (et de refermer ce fichier Excel)

Merci de votre précieuse aide !!!


Kris

Configuration: Windows XP
Firefox 2.0.0.6

1

aquarelle, le 14 sep 2007 à 20:24:53

Bonsoir,
Pour ouvrir un fichier excel ayant par exemple le chemin suivant ----> C:\CCM\EXEMPLE\xxxxx.xls, utiliser :

Workbooks.Open Filename:="C:\CCM\EXEMPLE\xxxxx.xls"

Pour lancer exécution d'une macro du fichier xxxxx.xls, utiliser :
Application.Run "xxxxx.xls!NomMacro"


Bonne soirée "Pour trouver une solution à ses problèmes, il faut s'en donner la peine."

Répondre à aquarelle

2

chris_chocolat, le 17 sep 2007 à 11:34:21

Merci de ta réponse!!

Cela fonctionne, mais pas coomme je veux!
(d'ailleurs, il ne faut pas oublier les guillemets pour le nom du fichier Excel: Application.Run "'xxxxx.xls'!NomMacro").

En effet, cela marche dans du VBA sous Excel, mais pas dans le VBA de Project.

D'autres idées? :)

Merci!!!

Répondre à chris_chocolat

3

aquarelle, le 17 sep 2007 à 13:00:00

'Lu,
Désolée mais je ne connais que les macros sous excel, peut-être quelqu'un d'autre passant par là pourra-t-il t'aider.
Bonne journée "Pour trouver une solution à ses problèmes, il faut s'en donner la peine."

Répondre à aquarelle

4

chris_chocolat, le 21 sep 2007 à 15:07:44

Quelqu'un a t'il une idée ??

Kris

Répondre à chris_chocolat

5

 willliam, le 31 jui 2009 à 12:03:10

Bonjour, un peu de retard mais cela peux toujours servir.

Tu declare une nouvelle application d'Excel
Set XL = New Excel.Application

Tu peux decider de faire tourner ton application sans la voir a l'ecran
XL.Visible = False

Tu ouvre ton application avec ton chemin .xls
XL.WorkBooks.Open (ici_ton_chemin.xls)

Ici tu execute ton code Excel sous MSP

For i= 2 To ActiveSheet.UsedRange.Rows.Count
If ................Then
Else
.................
End If
Next

Tu peux egalement lancer ta macro
Application.Run "xxxxx.xls!NomMacro"

Tu sauvegarde ton fichier
ActiveSheet.SaveAs FileName:=chemin.xls

Tu ferme Excel
XL.Quit

Tu libere la memoire
Set XL = Nothing

Salut

Répondre à willliam