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 :

Recopier tous les Modules d'un classeur dans un autre [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Moi, je ne fais que passer, excusez le dérangement
    Inscrit en
    Mars 2013
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Moi, je ne fais que passer, excusez le dérangement

    Informations forums :
    Inscription : Mars 2013
    Messages : 662
    Par défaut Recopier tous les Modules d'un classeur dans un autre
    Bonjour le forum,
    Tout est dans le titre. En ce qui me concerne j'ouvre les 2 classeurs et je fait glisser les modules 1 par 1
    Auriez-vous une astuce pour faire mieux.
    Macro?
    Merci pour vos éventuelles réponses
    Bien cordialement

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, en cherchant un peu tu aurais pu trouver ceci : Exporter / importer tous les modules et frm d'un projet

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Adapte ce code. Il copie les modules dans le classeur contenant la macro en conservant le nom. Dans le centre de gestion de la confidentialité, paramètre des macros, la case "Accès approuvé au modèle d'objet du projet VBA" doit être cochée.

    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
    Sub CopieModules()
        Set SourceWB = Workbooks("140804.xlsm")
        Set CibleWB = ThisWorkbook
        FichTemp = "C:\Users\Daniel\Documents\Donnees\Daniel\mpfe\tmpexport.bas"
        On Error Resume Next
        For Each Item In SourceWB.VBProject.VBComponents
            SourceWB.VBProject.VBComponents(Item).Export FichTemp
            CibleWB.VBProject.VBComponents.Import FichTemp
            Kill FichTemp
            NomModule = Item.Name
            SourceWB.VBProject.VBComponents(NomModule).Export FichTemp
            CibleWB.VBProject.VBComponents.Import FichTemp
            Kill FichTemp
        Next Item
        On Error GoTo 0
    End Sub

  4. #4
    Membre très actif
    Homme Profil pro
    Moi, je ne fais que passer, excusez le dérangement
    Inscrit en
    Mars 2013
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Moi, je ne fais que passer, excusez le dérangement

    Informations forums :
    Inscription : Mars 2013
    Messages : 662
    Par défaut
    Bonjour Daniel.C,
    J'ai essayer d'adapter le code car c'est office 2003
    Mais ça accroche à la première ligne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set SourceWB = Workbooks("140804.xls")
    Merci pour ton code que nous allons bien finir par adapter
    Bien cordialement à toi

    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
    Sub CopieModules()
        Set SourceWB = Workbooks("140804.xls")
        Set CibleWB = ThisWorkbook
        FichTemp = "C:\Users\Abel\Documents\Donnees\Abel\mpfe\tmpexport.bas"
        On Error Resume Next
        For Each Item In SourceWB.VBProject.VBComponents
            SourceWB.VBProject.VBComponents(Item).Export FichTemp
            CibleWB.VBProject.VBComponents.Import FichTemp
            Kill FichTemp
            NomModule = Item.Name
            SourceWB.VBProject.VBComponents(NomModule).Export FichTemp
            CibleWB.VBProject.VBComponents.Import FichTemp
            Kill FichTemp
        Next Item
        On Error GoTo 0
    End Sub

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Désolé,

    "SourceWB" est le classeur source, "CibleWB" est le classeur cible. "FichTemp" est le nom du classeur temporaire servant à l'exportation / Importation des modules.

  6. #6
    Membre très actif
    Homme Profil pro
    Moi, je ne fais que passer, excusez le dérangement
    Inscrit en
    Mars 2013
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Moi, je ne fais que passer, excusez le dérangement

    Informations forums :
    Inscription : Mars 2013
    Messages : 662
    Par défaut
    Bonsoir Daniel.C,
    Merci à toi. Réponse simple, concise, parfaite pour continuer le boulot.
    Bonne fin de WE
    Bien cordialement

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

Discussions similaires

  1. [XL-2003] Recopier tous les modules à la fois
    Par Un Internaute dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 31/05/2015, 08h49
  2. [Toutes versions] Supprimer tous les modules d'un classeur et le contenu de thisworbook
    Par kyasteph dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 19/10/2013, 12h54
  3. [VBA-E]Exporter / importer tous les modules et frm d'un projet
    Par ouskel'n'or dans le forum Contribuez
    Réponses: 6
    Dernier message: 16/03/2013, 19h37
  4. Réponses: 6
    Dernier message: 17/10/2006, 20h55
  5. Constante commune à tous les modules du projet
    Par Mors_Ubyte dans le forum Access
    Réponses: 1
    Dernier message: 19/07/2006, 15h48

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