[VBA] Exécuter une macro Ms Project à partir d'Excel
2 réponses
AGLAS
Bonjour à tous,
Je cherche (désespérément) le moyen de lancer une macro Ms Projec
depuis une macro Excel, le principal objectif de la manoeuvre étant d
transmettre un nom de fichier Excel à mapper et une date de début d
projet à Ms Project (et ainsi initialiser un nouveau projet). J'a
d'abord pensé naïvement que je pouvais passer ces variables e
paramètre à la macro Project sans autre formalité, mais je me suis vit
rendu compte que cela n'était pas si simple que ça. Je suis parvenu vi
ma macro Excel à exécuter Ms Project et à ouvrir un fichier contenan
une macro exécutée dans la foulée (à l'ouverture) :
Ceci fonctionne plutôt bien, sauf qu'encore une fois le nom du fichie
à ouvrir est censé provenir d'Excel, alors le code dans Project s
limite à un nom de fichier en dure.
Bref tout ça pour dire que ma solution n'en est pas une. J'ai cr
comprendre qu'il me faudrait faire référence à Ms Project dan
l'interface VBA d'Excel, mais je n'ai pas bien pigé la procédure e
n'ai trouvé aucune info spécifique à Ms Project. J'ai soumis l
question sur quelques forums Excel mais je n'ai reçu qu'une seul
réponse... hors sujet. Un grand Merciiiii donc pour toute suggestion m
permettant d'y voir un peu plus clair
--
AGLA
-----------------------------------------------------------------------
AGLAS's Profile: http://www.msusenet.com/member.php?userid=158
View this thread: http://www.msusenet.com/t-187045457
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Clément Marcotte
Bonjour,
Je ne connais rien à Project, mais, personnellement, je gère ces histoires-là de tranferts de données avec un petit fichier texte. Cela donnerait une patente de ce genre-là:
Dans la macro Excel, avant d'appeler Project ajouter cels lignes:
Lenom = "exemple.xls" 'modifier en conséquence Ladate = "01-6-2005" 'ajuster selon les paramètres régionaux Open "fichiertransfert.txt" for output as 1 print #1, lenom; "," ;ladate close 1
Puis dans la macro de Project
Open "fichiertransfert.txt" for input as 1 input #1, lenom; "," ;ladate close 1 ladate = cdate(ladate)
-- On n' apprend pas à un vieux singe à faire des grimaces "AGLAS" a écrit dans le message de news:
Bonjour à tous,
Je cherche (désespérément) le moyen de lancer une macro Ms Project depuis une macro Excel, le principal objectif de la manoeuvre étant de
transmettre un nom de fichier Excel à mapper et une date de début de projet à Ms Project (et ainsi initialiser un nouveau projet). J'ai d'abord pensé naïvement que je pouvais passer ces variables en paramètre à la macro Project sans autre formalité, mais je me suis vite
rendu compte que cela n'était pas si simple que ça. Je suis parvenu via
ma macro Excel à exécuter Ms Project et à ouvrir un fichier contenant
une macro exécutée dans la foulée (à l'ouverture) :
Ceci fonctionne plutôt bien, sauf qu'encore une fois le nom du fichier
à ouvrir est censé provenir d'Excel, alors le code dans Project se limite à un nom de fichier en dure.
Bref tout ça pour dire que ma solution n'en est pas une. J'ai cru comprendre qu'il me faudrait faire référence à Ms Project dans l'interface VBA d'Excel, mais je n'ai pas bien pigé la procédure et n'ai trouvé aucune info spécifique à Ms Project. J'ai soumis la question sur quelques forums Excel mais je n'ai reçu qu'une seule réponse... hors sujet. Un grand Merciiiii donc pour toute suggestion me
AGLAS's Profile: http://www.msusenet.com/member.php?userid80 View this thread: http://www.msusenet.com/t-1870454574
Bonjour,
Je ne connais rien à Project, mais, personnellement, je gère ces
histoires-là de tranferts de données avec un petit fichier texte. Cela
donnerait une patente de ce genre-là:
Dans la macro Excel, avant d'appeler Project ajouter cels lignes:
Lenom = "exemple.xls" 'modifier en conséquence
Ladate = "01-6-2005" 'ajuster selon les paramètres régionaux
Open "fichiertransfert.txt" for output as 1
print #1, lenom; "," ;ladate
close 1
Puis dans la macro de Project
Open "fichiertransfert.txt" for input as 1
input #1, lenom; "," ;ladate
close 1
ladate = cdate(ladate)
--
On n' apprend pas à un vieux singe à faire des grimaces
"AGLAS" <AGLAS.1pkgi9@no-mx.msusenet.com> a écrit dans le message de
news:AGLAS.1pkgi9@no-mx.msusenet.com...
Bonjour à tous,
Je cherche (désespérément) le moyen de lancer une macro Ms Project
depuis une macro Excel, le principal objectif de la manoeuvre étant
de
transmettre un nom de fichier Excel à mapper et une date de début de
projet à Ms Project (et ainsi initialiser un nouveau projet). J'ai
d'abord pensé naïvement que je pouvais passer ces variables en
paramètre à la macro Project sans autre formalité, mais je me suis
vite
rendu compte que cela n'était pas si simple que ça. Je suis parvenu
via
ma macro Excel à exécuter Ms Project et à ouvrir un fichier
contenant
une macro exécutée dans la foulée (à l'ouverture) :
Ceci fonctionne plutôt bien, sauf qu'encore une fois le nom du
fichier
à ouvrir est censé provenir d'Excel, alors le code dans Project se
limite à un nom de fichier en dure.
Bref tout ça pour dire que ma solution n'en est pas une. J'ai cru
comprendre qu'il me faudrait faire référence à Ms Project dans
l'interface VBA d'Excel, mais je n'ai pas bien pigé la procédure et
n'ai trouvé aucune info spécifique à Ms Project. J'ai soumis la
question sur quelques forums Excel mais je n'ai reçu qu'une seule
réponse... hors sujet. Un grand Merciiiii donc pour toute suggestion
me
Je ne connais rien à Project, mais, personnellement, je gère ces histoires-là de tranferts de données avec un petit fichier texte. Cela donnerait une patente de ce genre-là:
Dans la macro Excel, avant d'appeler Project ajouter cels lignes:
Lenom = "exemple.xls" 'modifier en conséquence Ladate = "01-6-2005" 'ajuster selon les paramètres régionaux Open "fichiertransfert.txt" for output as 1 print #1, lenom; "," ;ladate close 1
Puis dans la macro de Project
Open "fichiertransfert.txt" for input as 1 input #1, lenom; "," ;ladate close 1 ladate = cdate(ladate)
-- On n' apprend pas à un vieux singe à faire des grimaces "AGLAS" a écrit dans le message de news:
Bonjour à tous,
Je cherche (désespérément) le moyen de lancer une macro Ms Project depuis une macro Excel, le principal objectif de la manoeuvre étant de
transmettre un nom de fichier Excel à mapper et une date de début de projet à Ms Project (et ainsi initialiser un nouveau projet). J'ai d'abord pensé naïvement que je pouvais passer ces variables en paramètre à la macro Project sans autre formalité, mais je me suis vite
rendu compte que cela n'était pas si simple que ça. Je suis parvenu via
ma macro Excel à exécuter Ms Project et à ouvrir un fichier contenant
une macro exécutée dans la foulée (à l'ouverture) :
Ceci fonctionne plutôt bien, sauf qu'encore une fois le nom du fichier
à ouvrir est censé provenir d'Excel, alors le code dans Project se limite à un nom de fichier en dure.
Bref tout ça pour dire que ma solution n'en est pas une. J'ai cru comprendre qu'il me faudrait faire référence à Ms Project dans l'interface VBA d'Excel, mais je n'ai pas bien pigé la procédure et n'ai trouvé aucune info spécifique à Ms Project. J'ai soumis la question sur quelques forums Excel mais je n'ai reçu qu'une seule réponse... hors sujet. Un grand Merciiiii donc pour toute suggestion me
AGLAS's Profile: http://www.msusenet.com/member.php?userid80 View this thread: http://www.msusenet.com/t-1870454574
Oliv'
Clément Marcotte que je salut a écrit dans
Bonjour,
Je ne connais rien à Project, mais, personnellement, je gère ces histoires-là de tranferts de données avec un petit fichier texte. Cela donnerait une patente de ce genre-là:
Dans la macro Excel, avant d'appeler Project ajouter cels lignes:
Lenom = "exemple.xls" 'modifier en conséquence Ladate = "01-6-2005" 'ajuster selon les paramètres régionaux Open "fichiertransfert.txt" for output as 1 print #1, lenom; "," ;ladate close 1
Puis dans la macro de Project
Open "fichiertransfert.txt" for input as 1 input #1, lenom; "," ;ladate close 1 ladate = cdate(ladate)
voici ce que j'avais trouvé pour un pb similaire
-=lolol=- que je salut a écrit dans %
Bonjour Oliv'
Si ta macro excel était une function au lieu d'être une sub, elle pourrait faire la même chose que ce que fait la sub mais en plus te renvoyer une valeur ... la variable voulue (?)
Faut que je teste, mais je connais pas bien :-((
Une autre idée toute aussi saugrenue serait de passer par le presse papier windows ... ta macro outlook lance la macro excel ... à la fin de cette macro excel tu écris dans le presse papier le contenu de ta variable ... puis lors du retour dans ta macro outlook tu peux récuperer le contenu du presse papier ...
Oui j'y ai pensé mais si j'ai plusieurs variables ?
une function peut renvoyer un array de valeur
OK, testé cela marche !
tu peux concatener avant de mettre dans le presse papier et "déconcatener" après ou même passer par des fichiers txt écrits à la volée et effacés juste derrière
EXCELLENT !!
Peux t'on travailler en vba avec le presse papier OFFICE ?
je pensais au presse papier qui contient + d'1 élément. que l'on active dans édition/presse papier office
Sinon j'ai réussi AUSSI avec les nom masqués de Laurent LONGRE il faut juste faire attention à la syntaxe avec les guillemets " cela donne dans excel novaxel = """" + ref_novaxel + """" Application.ExecuteExcel4Macro "SET.NAME(""Nom_Test""," + novaxel + ")"
et dans outlook résult=appExcel.ExecuteExel4Macro("nom_Test").
Cela fait donc 4 solutions à mon problème si c'est pas génial ca !!! Merci encore ! -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' Pour me joindre : http://cerbermail.com/?V8r2o1YHl4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Bonjour à tous,
Je cherche (désespérément) le moyen de lancer une macro Ms Project depuis une macro Excel, le principal objectif de la manoeuvre étant de transmettre un nom de fichier Excel à mapper et une date de début de projet à Ms Project (et ainsi initialiser un nouveau projet). J'ai d'abord pensé naïvement que je pouvais passer ces variables en paramètre à la macro Project sans autre formalité, mais je me suis vite rendu compte que cela n'était pas si simple que ça. Je suis parvenu via ma macro Excel à exécuter Ms Project et à ouvrir un fichier contenant une macro exécutée dans la foulée (à l'ouverture) :
Ceci fonctionne plutôt bien, sauf qu'encore une fois le nom du fichier à ouvrir est censé provenir d'Excel, alors le code dans Project se limite à un nom de fichier en dure.
Bref tout ça pour dire que ma solution n'en est pas une. J'ai cru comprendre qu'il me faudrait faire référence à Ms Project dans l'interface VBA d'Excel, mais je n'ai pas bien pigé la procédure et n'ai trouvé aucune info spécifique à Ms Project. J'ai soumis la question sur quelques forums Excel mais je n'ai reçu qu'une seule réponse... hors sujet. Un grand Merciiiii donc pour toute suggestion me permettant d'y voir un peu plus clair.
Clément Marcotte <clement.marcotte@sympatico.ca> que je salut a écrit dans
eA3Cm2SYFHA.1384@TK2MSFTNGP09.phx.gbl
Bonjour,
Je ne connais rien à Project, mais, personnellement, je gère ces
histoires-là de tranferts de données avec un petit fichier texte. Cela
donnerait une patente de ce genre-là:
Dans la macro Excel, avant d'appeler Project ajouter cels lignes:
Lenom = "exemple.xls" 'modifier en conséquence
Ladate = "01-6-2005" 'ajuster selon les paramètres régionaux
Open "fichiertransfert.txt" for output as 1
print #1, lenom; "," ;ladate
close 1
Puis dans la macro de Project
Open "fichiertransfert.txt" for input as 1
input #1, lenom; "," ;ladate
close 1
ladate = cdate(ladate)
voici ce que j'avais trouvé pour un pb similaire
-=lolol=- <polytek@SANSPUBfree.fr> que je salut a écrit dans
%23pTApDoRFHA.2932@TK2MSFTNGP09.phx.gbl
Bonjour Oliv'
Si ta macro excel était une function au lieu d'être une sub, elle
pourrait faire la même chose que ce que fait la sub mais en plus te
renvoyer une valeur ... la variable voulue (?)
Faut que je teste, mais je connais pas bien :-((
Une autre idée toute aussi saugrenue serait de passer par le presse
papier windows ... ta macro outlook lance la macro excel ... à la
fin de cette macro excel tu écris dans le presse papier le contenu
de ta variable ... puis lors du retour dans ta macro outlook tu peux
récuperer le contenu du presse papier ...
Oui j'y ai pensé mais si j'ai plusieurs variables ?
une function peut renvoyer un array de valeur
OK, testé cela marche !
tu peux concatener avant de mettre dans le presse papier et
"déconcatener" après ou même passer par des fichiers txt écrits à la
volée et effacés juste derrière
EXCELLENT !!
Peux t'on travailler en vba avec le presse papier OFFICE ?
je pensais au presse papier qui contient + d'1 élément. que l'on active dans
édition/presse papier office
Sinon j'ai réussi AUSSI avec les nom masqués de Laurent LONGRE il faut
juste faire attention à la syntaxe avec les guillemets "
cela donne dans excel
novaxel = """" + ref_novaxel + """"
Application.ExecuteExcel4Macro "SET.NAME(""Nom_Test""," + novaxel + ")"
et dans outlook
résult=appExcel.ExecuteExel4Macro("nom_Test").
Cela fait donc 4 solutions à mon problème si c'est pas génial ca !!!
Merci encore !
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Bonjour à tous,
Je cherche (désespérément) le moyen de lancer une macro Ms Project
depuis une macro Excel, le principal objectif de la manoeuvre étant
de transmettre un nom de fichier Excel à mapper et une date de début
de projet à Ms Project (et ainsi initialiser un nouveau projet). J'ai
d'abord pensé naïvement que je pouvais passer ces variables en
paramètre à la macro Project sans autre formalité, mais je me suis
vite rendu compte que cela n'était pas si simple que ça. Je suis
parvenu via ma macro Excel à exécuter Ms Project et à ouvrir un
fichier contenant une macro exécutée dans la foulée (à l'ouverture) :
Ceci fonctionne plutôt bien, sauf qu'encore une fois le nom du
fichier à ouvrir est censé provenir d'Excel, alors le code dans
Project se limite à un nom de fichier en dure.
Bref tout ça pour dire que ma solution n'en est pas une. J'ai cru
comprendre qu'il me faudrait faire référence à Ms Project dans
l'interface VBA d'Excel, mais je n'ai pas bien pigé la procédure et
n'ai trouvé aucune info spécifique à Ms Project. J'ai soumis la
question sur quelques forums Excel mais je n'ai reçu qu'une seule
réponse... hors sujet. Un grand Merciiiii donc pour toute suggestion
me permettant d'y voir un peu plus clair.
Je ne connais rien à Project, mais, personnellement, je gère ces histoires-là de tranferts de données avec un petit fichier texte. Cela donnerait une patente de ce genre-là:
Dans la macro Excel, avant d'appeler Project ajouter cels lignes:
Lenom = "exemple.xls" 'modifier en conséquence Ladate = "01-6-2005" 'ajuster selon les paramètres régionaux Open "fichiertransfert.txt" for output as 1 print #1, lenom; "," ;ladate close 1
Puis dans la macro de Project
Open "fichiertransfert.txt" for input as 1 input #1, lenom; "," ;ladate close 1 ladate = cdate(ladate)
voici ce que j'avais trouvé pour un pb similaire
-=lolol=- que je salut a écrit dans %
Bonjour Oliv'
Si ta macro excel était une function au lieu d'être une sub, elle pourrait faire la même chose que ce que fait la sub mais en plus te renvoyer une valeur ... la variable voulue (?)
Faut que je teste, mais je connais pas bien :-((
Une autre idée toute aussi saugrenue serait de passer par le presse papier windows ... ta macro outlook lance la macro excel ... à la fin de cette macro excel tu écris dans le presse papier le contenu de ta variable ... puis lors du retour dans ta macro outlook tu peux récuperer le contenu du presse papier ...
Oui j'y ai pensé mais si j'ai plusieurs variables ?
une function peut renvoyer un array de valeur
OK, testé cela marche !
tu peux concatener avant de mettre dans le presse papier et "déconcatener" après ou même passer par des fichiers txt écrits à la volée et effacés juste derrière
EXCELLENT !!
Peux t'on travailler en vba avec le presse papier OFFICE ?
je pensais au presse papier qui contient + d'1 élément. que l'on active dans édition/presse papier office
Sinon j'ai réussi AUSSI avec les nom masqués de Laurent LONGRE il faut juste faire attention à la syntaxe avec les guillemets " cela donne dans excel novaxel = """" + ref_novaxel + """" Application.ExecuteExcel4Macro "SET.NAME(""Nom_Test""," + novaxel + ")"
et dans outlook résult=appExcel.ExecuteExel4Macro("nom_Test").
Cela fait donc 4 solutions à mon problème si c'est pas génial ca !!! Merci encore ! -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' Pour me joindre : http://cerbermail.com/?V8r2o1YHl4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Bonjour à tous,
Je cherche (désespérément) le moyen de lancer une macro Ms Project depuis une macro Excel, le principal objectif de la manoeuvre étant de transmettre un nom de fichier Excel à mapper et une date de début de projet à Ms Project (et ainsi initialiser un nouveau projet). J'ai d'abord pensé naïvement que je pouvais passer ces variables en paramètre à la macro Project sans autre formalité, mais je me suis vite rendu compte que cela n'était pas si simple que ça. Je suis parvenu via ma macro Excel à exécuter Ms Project et à ouvrir un fichier contenant une macro exécutée dans la foulée (à l'ouverture) :
Ceci fonctionne plutôt bien, sauf qu'encore une fois le nom du fichier à ouvrir est censé provenir d'Excel, alors le code dans Project se limite à un nom de fichier en dure.
Bref tout ça pour dire que ma solution n'en est pas une. J'ai cru comprendre qu'il me faudrait faire référence à Ms Project dans l'interface VBA d'Excel, mais je n'ai pas bien pigé la procédure et n'ai trouvé aucune info spécifique à Ms Project. J'ai soumis la question sur quelques forums Excel mais je n'ai reçu qu'une seule réponse... hors sujet. Un grand Merciiiii donc pour toute suggestion me permettant d'y voir un peu plus clair.