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-E] Affecter une macro a un autre classeur


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 53
    Points : 33
    Points
    33
    Par défaut [VBA-E] Affecter une macro a un autre classeur
    Bonjour,

    Je cherche a affecter une macro existante dans un classeur a un autre classeur.

    En fait, j'ai a la base une macro qui me cree des classeurs Excel. Je voudrais que ces classeurs Excel "fils" se voient donner la macro du classeur "pere".

    En esperant avoir ete clair
    Merci de votre aide

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Tu peux exporter et importer des macros. Pour ça, il faut faire une macro
    Le code a été donné sur le forum VBA il y a peu de temps et il existe peut-être dans la FAQ.
    Une recherche dans l'un ou dans l'autre...
    Je regarde si j'ai ça tout fait
    A+

    J'ai ça qu'a donné Silky sur le forum
    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
    Sub ExporterUnUserform() 'Par SilkyRoad
    ThisWorkbook.VBProject.VBComponents("UserForm1").Export "C:\PFC.frm"
     
    End Sub
     
    Sub ExporterTousLesUserforms() 'Par SilkyRoad
    Dim LaForm
        For Each LaForm In ThisWorkbook.VBProject.VBComponents
            If LaForm.Type = 3 Then ThisWorkbook.VBProject.VBComponents(LaForm.Name).Export "D:\xls\" & LaForm.Name & ".frm"
        Next
    End Sub
     
    Sub ImporterTousLesUserformsDunRépertoire()  'd'après SilkyRoad
    Dim NomFich
        NomFich = Dir("D:\xls\*.frm")
        Do While NomFich <> ""
            Application.VBE.ActiveVBProject.VBComponents.Import (NomFich)
            NomFich = Dir
        Loop
    End Sub
    Je pense que si tu remplaces le nom de l'userform par le nom du module et remplaces l'extension .frm par .bas, tu obtiendras ce que tu voudras.
    Je fais un essai mais fais-en autant de ton côté
    A+

    Voilà
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub ExporterUnModule() 'Selon SilkyRoad
    ThisWorkbook.VBProject.VBComponents("Module1").Export "D:\Essai.bas"
    End Sub
    Sub ImporterUnModule() 'Selon SilkyRoad
            Application.VBE.ActiveVBProject.VBComponents.Import ("D:\Essai.bas")
    End Sub
    A+

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 53
    Points : 33
    Points
    33
    Par défaut
    Je m'y mets de suite...merci

    aie...Ca ne passe pas.

    Excel me renvoit le message d'erreur suivant;

    Run-time error '1004':

    Programmatic access to Visual Basic Project is not trusted

    Pour les debutants comme moi, voici la reponse:

    Tools->Options->Security->Macro Security->Trusted Sources

    Puis en bas de la fenetre vous cochez: "Trust access to Visual Basic Project"

    Une petite recherche n'a jamais fait de mal.

    Merci

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

Discussions similaires

  1. [XL-2007] Créer un bouton par un code VBA et affecter une macro
    Par cakola dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 11/03/2015, 14h00
  2. [VBA/Excel]lancer une macro d'un autre document
    Par daniel_gre dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/05/2008, 15h37
  3. [VBA]comment copier une ligne vers un autre classeur
    Par iboulaye1980 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/05/2007, 18h22
  4. [VBA-E] effectuer une recherche dans un autre classeur
    Par sebneb dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 07/01/2007, 11h47
  5. Utilisation d'une macro d'un autre classeur
    Par madislak dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/07/2006, 14h00

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