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] MergeWorkbook de 2 excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 15
    Par défaut [VBA-E] MergeWorkbook de 2 excel
    Bonjour,


    je cherche à "copier" des userform, modules classes etc.. d'un VBA sous excel vers un VBA sous un autre excel.

    J'avais trouvé ceci mais ne suis pas sûre que les objets de VBA soient repris dans le merge

    MergeWorkBook

    avec le code suivant : ActiveWorkbook.MergeWorkbook "test2.xls"


    Test2.xls est dans le même répertoire que activeworkbook et est fermé.
    Je recois un msg d'erreur 1004 or activeworkbbok est bien un objet .

    Je ne sais déja pas si c'est la bonne solution et en plus elle ne fonctionne pas

    je suis désespérée ...

  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
    Par défaut
    Quelque part, SilkyRoad décrit tout ça très bien. Je n'ai pas retrouvé où mais voici son code
    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
    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
    J'ai un peu modifié le dernier... Tu verras
    Pour exporter feuilles et modules, tu mets une restriction sur le type qui ne doit pas être celui d'une feuille de calculs
    Je dis ça dans une minute
    A+

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 15
    Par défaut
    donc je dois laisser tomber le 'MERGE' ??

    Dans l'import export cela veut dire que

    1° je dois d'abord exporter tout les fichiers (.frm, *.bas. *.cls)
    et 2° les importer dans le 2ème fichier excel
    ?

  4. #4
    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
    Par défaut
    Voilà
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub ExporterFrmEtModule()
    Dim LeFich
        For Each LeFich In ThisWorkbook.VBProject.VBComponents
            Select Case LeFich.Type
                Case 1 'Modules
                    ThisWorkbook.VBProject.VBComponents(LeFich.Name).Export "D:\MesMacros\" & LeFich.Name & ".bas"
                Case 2 'Modules de classe
                    ThisWorkbook.VBProject.VBComponents(LeFich.Name).Export "D:\MesMacros\" & LeFich.Name & ".cls"
                Case 3 'frm
                    ThisWorkbook.VBProject.VBComponents(LeFich.Name).Export "D:\MesMacros\" & LeFich.Name & ".frm"
            End Select
        Next
    End Sub
    Testé
    Pour importer, tu as le code à adapter
    Le type des feuilles de calculs est 100
    A+

  5. #5
    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
    Par défaut
    Je réponds à ta question :
    1° je dois d'abord exporter tout les fichiers (.frm, *.bas. *.cls)
    et 2° les importer dans le 2ème fichier excel
    Oui, c'est le plus rapide.
    A+

    PS - Pour tester, je viens d'exporter en quelques secondes 43 objets dans le rep MesMacros

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 15
    Par défaut
    nickel impec, super

    Pour la rapidité je ne m'inquiétais pas mais je voulais éviter des fichiers qui trainent

    Un méga merci en tout ca

    Xine

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 15
    Par défaut
    J'ai pensé à une autre facon.

    Pq pas copier le component Form d'un VBAprojet à un autre ?

    Est-ce faisable?

    Je cherche et je reviens

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

Discussions similaires

  1. [VBA] Icone de souris sous Excel
    Par preverse dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 10/11/2005, 01h27
  2. [VBA] supression element Acces avec Excel
    Par Emcy dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 07/11/2005, 17h30
  3. [VBA]Barre d'outils personnalisée excel
    Par fikren dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/11/2005, 13h06
  4. [VBA] Comparer des données en excel
    Par Micavk dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/10/2005, 12h26
  5. [VBA-E] Sélection feuilles sous excel
    Par Mystic eyes dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/02/2004, 13h27

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