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 :

exécuter directement une procédure d'un autre classeur


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Par défaut exécuter directement une procédure d'un autre classeur
    Bonjour,

    Je lance à partir d'un fichier A l'ouverture d'un fichier B à l'aide d'une macro.
    Est-il possible par la suite d'appeler des procédures du fichier B à partir du code de mon fichier A, sachant que tout les 2 sont ouverts ?

    Cwain

  2. #2
    Membre confirmé
    Profil pro
    Enseignant
    Inscrit en
    Août 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Août 2006
    Messages : 156
    Par défaut
    Bonjour

    Il faut mettre ce code dans le classeur A
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim fid As String, crd As String
    Dim wd As Workbook
     
    fid = "D:\Excel\Essai002.xls": crd = "Essai002.xls"
     
    On Error Resume Next
     
        Set wd = Workbooks(crd)
        If wd Is Nothing Then Workbooks.Open fid
     
    On Error GoTo 0
     
    Application.Run ("Essai002.xls!Dest")
    Et celui-ci dans le classeur B, que j'ai intitulé "Essai002.xls"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Dest()
     
    MsgBox "OUI c'est possible!!!"
     
    End Sub
    Tu auras probablement la réponse à tes questions!

    Cordialement

  3. #3
    Membre éprouvé Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Par défaut
    Arg, ça marche très bien sur 2 fichiers test, mais j'arrive pas à le faire marcher sur mes fichiers. La macro en question n'est pas trouvée...
    à partir de mon premier classeur je fais pourtant bien l'ouverture du 2ème
    puis j'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Run ("Cahier devis.xls!Nouveau")
    et dans le deuxième, dans le module1, il y a bien cette procédure
    Est-ce que le fait d'être vddi après-midi me fait passer à côté de qqch d'évident ???

  4. #4
    Membre éprouvé Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Par défaut
    Effectivement, ça marche mieux si j'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Run ("'Cahier devis.xls'!Nouveau")
    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Exécuter une macro dans un autre classeur
    Par Claire IZ dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/12/2014, 20h37
  2. Réponses: 18
    Dernier message: 18/11/2013, 10h50
  3. Exécution d'une procédure qui se trouve dans un autre classeur
    Par enchanté dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/07/2007, 09h31
  4. [VB6] Durée d'exécution d'une procédure
    Par Peltchag dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 17/10/2005, 14h51
  5. Réponses: 15
    Dernier message: 08/07/2004, 08h20

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