macro externe

Le
FabriceR
Bonjour a tous,

J'aimerais depuis un classeur actif, executer une macro d'un autre classeur
pour cela je commence comme ca

Application.Run "\ServeurdiskechercheRechercheNom Dossier 1
ProcessClasseur7.xls!test"
Workbooks("Classeur7.xls").Close

Le probleme c'est que j'ai un message d'erreur apparement dû aux espaces
dans le chemin. (j'ai fait le test sur un chemin sans espace et ca marche)
J'ai donc essayé ca

Application.Run """\ServeurdiskechercheRechercheNom Dossier 1
ProcessClasseur7.xls""!test"
Workbooks("Classeur7.xls").Close

avec les doubles "" mais ca ne marche pas non plus.
Quelqu'un saurait il me dire ce que je ne fait pas bien svp ??

question subsidiaire : et changer le chemin ecrit en dur pour le mettre en
dynamique, c'est compliqué ?

Merci d'avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #18635251
Si tu as des espaces, tu ajoutes une apostrophe

MaMacro = "'" & Lechemin & LeFichier.xls & "'!NomDeLaMacro"
Application.Run C
Ceci est bon si ta macro est dans un module standard.
Si ta macro est dans un module Feuille, tu dois l'inclure
dans ton code
MaMacro = "'" & Lechemin & LeFichier.xls & "'!Feuil1.NomDeLaMacro"
Application.Run C

"FabriceR" :
Bonjour a tous,

J'aimerais depuis un classeur actif, executer une macro d'un autre classeur
pour cela je commence comme ca

Application.Run "\ServeurdiskrechercheRechercheNom Dossier 1
ProcessClasseur7.xls!test"
Workbooks("Classeur7.xls").Close

Le probleme c'est que j'ai un message d'erreur apparement dû aux espaces
dans le chemin. (j'ai fait le test sur un chemin sans espace et ca marche)
J'ai donc essayé ca

Application.Run """\ServeurdiskrechercheRechercheNom Dossier 1
ProcessClasseur7.xls""!test"
Workbooks("Classeur7.xls").Close

avec les doubles "" mais ca ne marche pas non plus.
Quelqu'un saurait il me dire ce que je ne fait pas bien svp ??

question subsidiaire : et changer le chemin ecrit en dur pour le mettre en
dynamique, c'est compliqué ?

Merci d'avance
michdenis
Le #18635241
évidemment vous aurez compris ...

Application.Run MaMacro

;-)



"michdenis"
Si tu as des espaces, tu ajoutes une apostrophe

MaMacro = "'" & Lechemin & LeFichier.xls & "'!NomDeLaMacro"
Application.Run C
Ceci est bon si ta macro est dans un module standard.
Si ta macro est dans un module Feuille, tu dois l'inclure
dans ton code
MaMacro = "'" & Lechemin & LeFichier.xls & "'!Feuil1.NomDeLaMacro"
Application.Run C

"FabriceR" :
Bonjour a tous,

J'aimerais depuis un classeur actif, executer une macro d'un autre classeur
pour cela je commence comme ca

Application.Run "\ServeurdiskrechercheRechercheNom Dossier 1
ProcessClasseur7.xls!test"
Workbooks("Classeur7.xls").Close

Le probleme c'est que j'ai un message d'erreur apparement dû aux espaces
dans le chemin. (j'ai fait le test sur un chemin sans espace et ca marche)
J'ai donc essayé ca

Application.Run """\ServeurdiskrechercheRechercheNom Dossier 1
ProcessClasseur7.xls""!test"
Workbooks("Classeur7.xls").Close

avec les doubles "" mais ca ne marche pas non plus.
Quelqu'un saurait il me dire ce que je ne fait pas bien svp ??

question subsidiaire : et changer le chemin ecrit en dur pour le mettre en
dynamique, c'est compliqué ?

Merci d'avance
FabriceR
Le #18635741
Ca ne marche pas
j'ai écrit comme ca
Application.Run """&\ServeurdiskrechercheRecherchenom Dossier1
Process&Classeur7.xls&""!test"

et ca ne marche pas mieux, je me suis trompé non ??


"michdenis"
évidemment vous aurez compris ...

Application.Run MaMacro

;-)



"michdenis" discussion :

Si tu as des espaces, tu ajoutes une apostrophe

MaMacro = "'" & Lechemin & LeFichier.xls & "'!NomDeLaMacro"
Application.Run C
Ceci est bon si ta macro est dans un module standard.
Si ta macro est dans un module Feuille, tu dois l'inclure
dans ton code
MaMacro = "'" & Lechemin & LeFichier.xls & "'!Feuil1.NomDeLaMacro"
Application.Run C

"FabriceR" groupe de discussion
:
Bonjour a tous,

J'aimerais depuis un classeur actif, executer une macro d'un autre
classeur
pour cela je commence comme ca

Application.Run "\ServeurdiskrechercheRechercheNom Dossier 1
ProcessClasseur7.xls!test"
Workbooks("Classeur7.xls").Close

Le probleme c'est que j'ai un message d'erreur apparement dû aux espaces
dans le chemin. (j'ai fait le test sur un chemin sans espace et ca marche)
J'ai donc essayé ca

Application.Run """\ServeurdiskrechercheRechercheNom Dossier 1
ProcessClasseur7.xls""!test"
Workbooks("Classeur7.xls").Close

avec les doubles "" mais ca ne marche pas non plus.
Quelqu'un saurait il me dire ce que je ne fait pas bien svp ??

question subsidiaire : et changer le chemin ecrit en dur pour le mettre en
dynamique, c'est compliqué ?

Merci d'avance



Mgr T. Banni
Le #18635861
bonjour
michel a dit d'ajouter une apostrophe
tu dois donc avoir un guillemet, une apostrophe, un guillemet ("'" soit 5
barres alors que , si je lis bien, toi tu as 6 barres)
me trompe-je comme tu t'es trompjé ou bien...?
Mgr T.B.

"FabriceR"
Ca ne marche pas
j'ai écrit comme ca
Application.Run """&\ServeurdiskrechercheRecherchenom Dossier1
Process&Classeur7.xls&""!test"

et ca ne marche pas mieux, je me suis trompé non ??


"michdenis"
évidemment vous aurez compris ...

Application.Run MaMacro

;-)



"michdenis" discussion :

Si tu as des espaces, tu ajoutes une apostrophe

MaMacro = "'" & Lechemin & LeFichier.xls & "'!NomDeLaMacro"
Application.Run C
Ceci est bon si ta macro est dans un module standard.
Si ta macro est dans un module Feuille, tu dois l'inclure
dans ton code
MaMacro = "'" & Lechemin & LeFichier.xls & "'!Feuil1.NomDeLaMacro"
Application.Run C

"FabriceR" groupe de discussion
:
Bonjour a tous,

J'aimerais depuis un classeur actif, executer une macro d'un autre
classeur
pour cela je commence comme ca

Application.Run "\ServeurdiskrechercheRechercheNom Dossier 1
ProcessClasseur7.xls!test"
Workbooks("Classeur7.xls").Close

Le probleme c'est que j'ai un message d'erreur apparement dû aux espaces
dans le chemin. (j'ai fait le test sur un chemin sans espace et ca
marche)
J'ai donc essayé ca

Application.Run """\ServeurdiskrechercheRechercheNom Dossier 1
ProcessClasseur7.xls""!test"
Workbooks("Classeur7.xls").Close

avec les doubles "" mais ca ne marche pas non plus.
Quelqu'un saurait il me dire ce que je ne fait pas bien svp ??

question subsidiaire : et changer le chemin ecrit en dur pour le mettre
en
dynamique, c'est compliqué ?

Merci d'avance







michdenis
Le #18635841
Exécuter une macro d'un autre classeur:

A )
Nom de la macro : "test1"
Si ton classeur est fermé et que la macro appelée se
retrouve dans un module standard :
Application.Run "'C:Mes documentsAnswer.xls'!test1"

Même chose mais si le classeur est déjà ouvert :
Application.Run "Answer.xls!test1"

B ) Si le nom de ton classeur contient des espaces :
L'utilisation des apostrophes "'" permet d'utiliser
un nom de classeur contenant des espaces , sans
ces dernières, point de salut.
Dim LaMacro As String
LaMacro = "'" & ThisWorkbook.Name & "'!test1"
Application.Run LaMacro

C) Si la macro appelée est dans un module feuille du
classeur au lieu d'être dans un module Standard :
Dans la ligne de commande, tu dois insérer le nom de
l'objet "Feuille" que tu retrouves dans la fenêtre VBE
(visual basic editor).
Dans la fenêtre de gauche de ton projet, la liste des
feuilles est affichée dans ce format : "toto"("Feuil4")
toto = Nom de l'onglet de la feuille
Feuil4 = Propriété Name de l'objet Feuille (worksheet)
Dans la commande suivante, tu dois utiliser le nom de
la feuille et non de l'onglet de la feuille

Si le fichier est ouvert :
Application.Run "modele.xls!Feuil4.test1"

Si le fichier est fermé :
Application.Run "'C:Mes documentsAnswer.xls'!Feuil4.test1"



"FabriceR" :
Ca ne marche pas
j'ai écrit comme ca
Application.Run """&\ServeurdiskrechercheRecherchenom Dossier1
Process&Classeur7.xls&""!test"

et ca ne marche pas mieux, je me suis trompé non ??


"michdenis"
évidemment vous aurez compris ...

Application.Run MaMacro

;-)



"michdenis" discussion :

Si tu as des espaces, tu ajoutes une apostrophe

MaMacro = "'" & Lechemin & LeFichier.xls & "'!NomDeLaMacro"
Application.Run C
Ceci est bon si ta macro est dans un module standard.
Si ta macro est dans un module Feuille, tu dois l'inclure
dans ton code
MaMacro = "'" & Lechemin & LeFichier.xls & "'!Feuil1.NomDeLaMacro"
Application.Run C

"FabriceR" groupe de discussion
:
Bonjour a tous,

J'aimerais depuis un classeur actif, executer une macro d'un autre
classeur
pour cela je commence comme ca

Application.Run "\ServeurdiskrechercheRechercheNom Dossier 1
ProcessClasseur7.xls!test"
Workbooks("Classeur7.xls").Close

Le probleme c'est que j'ai un message d'erreur apparement dû aux espaces
dans le chemin. (j'ai fait le test sur un chemin sans espace et ca marche)
J'ai donc essayé ca

Application.Run """\ServeurdiskrechercheRechercheNom Dossier 1
ProcessClasseur7.xls""!test"
Workbooks("Classeur7.xls").Close

avec les doubles "" mais ca ne marche pas non plus.
Quelqu'un saurait il me dire ce que je ne fait pas bien svp ??

question subsidiaire : et changer le chemin ecrit en dur pour le mettre en
dynamique, c'est compliqué ?

Merci d'avance



FabriceR
Le #18641481
Ok merci bcp, j'en ai encore bavé malgré tout mais j'ai réussi à comprendre.

Encore merci



"michdenis"
Exécuter une macro d'un autre classeur:

A )
Nom de la macro : "test1"
Si ton classeur est fermé et que la macro appelée se
retrouve dans un module standard :
Application.Run "'C:Mes documentsAnswer.xls'!test1"

Même chose mais si le classeur est déjà ouvert :
Application.Run "Answer.xls!test1"

B ) Si le nom de ton classeur contient des espaces :
L'utilisation des apostrophes "'" permet d'utiliser
un nom de classeur contenant des espaces , sans
ces dernières, point de salut.
Dim LaMacro As String
LaMacro = "'" & ThisWorkbook.Name & "'!test1"
Application.Run LaMacro

C) Si la macro appelée est dans un module feuille du
classeur au lieu d'être dans un module Standard :
Dans la ligne de commande, tu dois insérer le nom de
l'objet "Feuille" que tu retrouves dans la fenêtre VBE
(visual basic editor).
Dans la fenêtre de gauche de ton projet, la liste des
feuilles est affichée dans ce format : "toto"("Feuil4")
toto = Nom de l'onglet de la feuille
Feuil4 = Propriété Name de l'objet Feuille (worksheet)
Dans la commande suivante, tu dois utiliser le nom de
la feuille et non de l'onglet de la feuille

Si le fichier est ouvert :
Application.Run "modele.xls!Feuil4.test1"

Si le fichier est fermé :
Application.Run "'C:Mes documentsAnswer.xls'!Feuil4.test1"



"FabriceR" groupe de discussion
:
Ca ne marche pas
j'ai écrit comme ca
Application.Run """&\ServeurdiskrechercheRecherchenom Dossier1
Process&Classeur7.xls&""!test"

et ca ne marche pas mieux, je me suis trompé non ??


"michdenis"
évidemment vous aurez compris ...

Application.Run MaMacro

;-)



"michdenis" discussion :

Si tu as des espaces, tu ajoutes une apostrophe

MaMacro = "'" & Lechemin & LeFichier.xls & "'!NomDeLaMacro"
Application.Run C
Ceci est bon si ta macro est dans un module standard.
Si ta macro est dans un module Feuille, tu dois l'inclure
dans ton code
MaMacro = "'" & Lechemin & LeFichier.xls & "'!Feuil1.NomDeLaMacro"
Application.Run C

"FabriceR" groupe de discussion
:
Bonjour a tous,

J'aimerais depuis un classeur actif, executer une macro d'un autre
classeur
pour cela je commence comme ca

Application.Run "\ServeurdiskrechercheRechercheNom Dossier 1
ProcessClasseur7.xls!test"
Workbooks("Classeur7.xls").Close

Le probleme c'est que j'ai un message d'erreur apparement dû aux espaces
dans le chemin. (j'ai fait le test sur un chemin sans espace et ca
marche)
J'ai donc essayé ca

Application.Run """\ServeurdiskrechercheRechercheNom Dossier 1
ProcessClasseur7.xls""!test"
Workbooks("Classeur7.xls").Close

avec les doubles "" mais ca ne marche pas non plus.
Quelqu'un saurait il me dire ce que je ne fait pas bien svp ??

question subsidiaire : et changer le chemin ecrit en dur pour le mettre
en
dynamique, c'est compliqué ?

Merci d'avance






Publicité
Poster une réponse
Anonyme