IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-XL2007] Problème de lancement d'une macro d'un autre fichier au format xlsm


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Profil pro
    chomeur
    Inscrit en
    Août 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Août 2006
    Messages : 343
    Points : 246
    Points
    246
    Par défaut [VBA-XL2007] Problème de lancement d'une macro d'un autre fichier au format xlsm
    Bonjour a tous,

    J'ai un souci avec excel 2007 lors d'un lancement de macro d'un autre fichier par code.

    J'utilisais dans la version 2003 de mon fichier la commance : "Application.Run".
    Sous 2003 tout fonctionne très bien.
    Sous 2007 tout foncionne très bien si je lance le code d'un fichier au format 2003 (xls). Si je veux lancer le code d'un fichier xlsm, j'ai un run-time '1004'.

    J'avoue ne pas comprendre l'origine de mon erreur.

    Je me permet de mettre le code utilisé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    Sub OuvreLeEtLanceLaMacro()
    Dim fso As New FileSystemObject, fsoFile As File
    Dim wbMonAuterFichier As Workbook
    Dim stMonCheminEtFichier As String
     
    stMonCheminEtFichier = "c:\Monchemin\fichier.xlsm"
    'stMonCheminEtFichier = "c:\Monchemin\fichier.xls"
     
    'Etape 1 : tester l'existance
    If fso.FileExists(stMonCheminEtFichier) Then
     
      Set fsoFile = fso.GetFile(stMonCheminEtFichier)
      'Etape 2: Est il deja ouvert? si non ouvrir / si oui le prendre
      Set wbMonAuterFichier = Application.Workbooks.Open(stMonCheminEtFichier, False, False, , , , True)
     
      'Etapa 3: rafraichir 
      wbMonAuterFichier.Sheets("Menu").Calculate
     
      'Etape4: lancer la macro
      Application.Run fsoFile.Name & "!" & "Module.Macro1"
     
      Set fsoFile = Nothing
    End If
     
    Set fso = Nothing
     
    End Sub

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonsoir


    Vérifie le chemin spécifié :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fsoFile.Name & "!" & "Module.Macro1"


    Sinon, lorsque le nom du classeur contient des espaces ou des caractères spéciaux, le nom doit être encadré par des quotes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Run "'Nom du Classeur.xlsm'!Module1.NomMacro"


    bonne soirée
    michel

  3. #3
    Membre actif
    Profil pro
    chomeur
    Inscrit en
    Août 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Août 2006
    Messages : 343
    Points : 246
    Points
    246
    Par défaut
    bonsoir
    Merci pour ta réponse.
    Le chemin est bien vérifié puisque j'utilise un "fso.FileExists".

    Sinon pour la question des espaces dans le nom du fichier est ce spécifique a Excel2007? Puisque pour le meme fichier il accepte le "run" si c'est un fichier 2003 et le refuse quand c'est 2007 (xlsm)

    Je vais tester en tout cas ton élement de réponse.

Discussions similaires

  1. [XL-2003] Problème de transfère d'une macro vers un autre pc
    Par Mayen1 dans le forum Excel
    Réponses: 3
    Dernier message: 11/03/2015, 11h04
  2. Réponses: 2
    Dernier message: 01/07/2010, 18h05
  3. Impossible d'executer une macro d'un autre fichier
    Par gilles06 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 06/02/2008, 19h36
  4. Lancement d'une macro d'un autre classeur
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/06/2007, 10h31
  5. [VBA-E]Probleme de lancement d'une macro non souhaité
    Par Mut dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 06/12/2006, 12h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo