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 :

copie de module par code


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 238
    Par défaut copie de module par code
    Bonjour a tous

    J'aimerais savoir comment copier un module en code ^^
    en gros je veux que quand j'appuie sur un bouton il me copie un module du 1er classeur dans le 2eme classeur

    Cordialement

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 238
    Par défaut
    Donc bon pour les personnes extérieure, Voici la Solution :

    Ce code fonctionne très bien sous Excel 2003
    et personnellement en OS j'ai Windows7
    Il faut activé la référence Microsoft Visual Basic for Applications Extensibility
    personnellement j'ai : Microsoft Visual Basic for Applications Extensibility 5.3
    et il faut faire confiance au projet VBA
    Pour cela il faut aller dans :
    Outils/Macro/Sécurité/Editeurs approuvés, puis cocher "Faire confiance au projet Visual Basic".


    Donc le code est :

    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 test_import()
    ' Déclaration des variables
    Dim LigDeb As Long
    Dim NbLig As Long
    Dim stCode As String
    Dim vbNew As Workbook
    Dim objF As Object
     ' ici, mettre le nom du classeur dans le quel il faut importer le contenu du module
    Set vbNew = Workbooks ("classeur2 .xls")
    ' ici, je dois mettre le nom du module dans le quel sont les codes a exporter
    Set objF = ThisWorkbook.VBProject.VBComponents("Module_export")
    ' ici, je dois mettre les lignes a exporter dans ce module 
    stCode = objF.CodeModule.Lines(1, 402)
    ' ici, mettre le nom du module dans le quel il faut intégré ces lignes
    Set objF = vbNew.VBProject.VBComponents("Moule_import")
    ' ici, je ne sais pas du tout ^^
    objF.CodeModule.addfromstring (stCode)
     
    End Sub
    Donc en gros j'exporte le contenu du module "Module_export", lignes 1 à 402
    Ce module est dans le classeur actif

    Et je l'importe dans le classeur2, dans le module "Module_import"

    Voili voilou
    J'aurais jamais eu ce code sans le génial Libesa, et je le re-remercie

    Cordialement

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

Discussions similaires

  1. copie de module par code
    Par sharox dans le forum Macros et VBA Excel
    Réponses: 22
    Dernier message: 26/11/2013, 13h04
  2. [D2009][Win7]Installation de police ttf par code de copie
    Par istam3 dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 05/11/2010, 15h13
  3. [Source]Supprimer par code des lignes de codes ou un Module
    Par mortalino dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 27/01/2007, 17h37
  4. [VCL] Scroller un contrôle par code
    Par sbeu dans le forum Composants VCL
    Réponses: 3
    Dernier message: 31/03/2004, 11h39
  5. [VB6] Datagrid afficher ou cacher des colonnes par code
    Par soazig dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 06/02/2003, 18h19

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