Appeler une macro d'un autre classeur

Lentillelocale

XLDnaute Nouveau
Pour pouvoir lancer une macro d'un autre classeur, j'utilise la fonction Application.Run NomFichier!Modulex.NomMacro

Cela fonctionne si le nom du fichier NomFichier est par exemple Essai3.xls

Mais lorsque le nom du fichier contenant la macro appelée contient des espaces (Avec blanc Essai3.xls par exemple), on tombe en erreur d'exécution '1004' Impossible de trouver la macro 'Avec blanc Essai3.xls!Module1.Traitement'

Le code est le suivant :

Private Sub CommandButton1_Click()
Range("E6") = Now
Range("E7") = Now

Sheets("Lanceur").Range("G12:H14").ClearContents

Ligne = 12
Do While Range("E" & Ligne) <> ""
Range("G" & Ligne) = Now
' ouvrir le fichier
SOS_Fichier = ActiveWorkbook.Name
MonRepertoireFichier = Range("E" & Ligne)
Monfichier = Dir(Range("E" & Ligne))
Call OuvrirFichier(MonRepertoireFichier)
' ici on va exécuter le code lié au bouton Test dans le fichier que l'on vient d'ouvrir
Application.Run Monfichier & "!Module1.Traitement"
Workbooks(SOS_Fichier).Activate


' Fermer le fichier en le sauvegardant
SOS_Fichier = ActiveWorkbook.Name
Call FermerFichier(MonRepertoireFichier, Monfichier)
Workbooks(SOS_Fichier).Activate

Range("H" & Ligne) = Now

Ligne = Ligne + 1
Loop

Range("E7") = Now

End Sub
------------
Et si je remplace la ligne Application.Run Monfichier & "!Module1.Traitement"
par Application.Run "[" & Monfichier & "]!Module1.Traitement" pour indiquer que le nom du fichier est dans les crochets, j'obtiens un autre message d'erreur '1004' Un document nommé "Avec blanc Essai3.xls' est déjà ouvert.Vous ne pouvez pas ouvrir deux documents portant le même nom, etc...

Quelqu'un a-t-il une idée ?
Quelle est la syntaxe correcte de Application.run lorsque le nom du fichier comporte des espaces ?

Merci pour votre aide
 

Pièces jointes

  • Lanceur.zip
    48.2 KB · Affichages: 41
  • Lanceur.zip
    48.2 KB · Affichages: 46
  • Lanceur.zip
    48.2 KB · Affichages: 45

Discussions similaires

Statistiques des forums

Discussions
314 653
Messages
2 111 579
Membres
111 206
dernier inscrit
Dante76