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]Importation de modules


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]Importation de modules
    Bonjour tlm,

    j'ai utilisé le code de cette contribution pour importer mais j'ai un petit soucis :

    voila le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.VBE.VBProjects(i).VBComponents.Import ("c:\data\Cls\thisWorkbook.cls")
    ou i = 2 ce qui est OK

    Et le résultat est la création d'une classe s'appelant thisworbook1

    j'aimerais importer du code dans la feuille Thisworkbook et non créér une classe

    Merci de m'aider

    Xine

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour

    tu peux tester cette procédure


    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    'Nécessite d'activer la référence
    'Microsoft Visual Basic for Applications Extensibility 5.3
    Dim Wb As Workbook
    Dim oModule As CodeModule
    Dim VbComp As VBComponent
    Dim x As Integer
    Dim Cible As String
     
    Cible = "NomModule"
    'Définit le classeur de destination
    Set Wb = ThisWorkbook
     
    'Charge le module temporaire dans la classeur
    Set VbComp = Wb.VBProject.VBComponents.Import("C:\ThisWorkbook.cls")
    'Le renomme (pour le supprimer plus facilement ultérieurement)
    VbComp.Name = Cible
     
    Set oModule = VbComp.CodeModule
     
    'Transfère les données 
    'Attention les données existantes dans "ThisWorkbook" sont écrasées.
    With Wb.VBProject.VBComponents("ThisWorkbook").CodeModule
        x = .CountOfLines
        .DeleteLines 1, x
        .InsertLines 1, oModule.Lines(1, oModule.CountOfLines)
    End With
     
    'Suppression du module temporaire
    With Wb.VBProject.VBComponents
        .Remove .Item(Cible)
    End With


    bonne soirée
    michel

  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
    Merci de ta réponse SilkyRoad, ca fonctionne à merveille.

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

Discussions similaires

  1. [VBA 2003] Import de module->Perte de références
    Par dacid dans le forum Général VBA
    Réponses: 6
    Dernier message: 25/02/2008, 11h38
  2. [VBA]Exporter / importer tous les modules et frm d'un projet
    Par ouskel'n'or dans le forum Contribuez
    Réponses: 0
    Dernier message: 12/02/2007, 16h31
  3. [VBA-A] importer un module
    Par yuriashford dans le forum VBA Access
    Réponses: 6
    Dernier message: 30/05/2006, 18h02
  4. [VBA][Excel] importer une zone délimitée de texte
    Par Amanck dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/12/2005, 14h59
  5. [VBA Excel] Importer des tables Access dans Excel
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 06/12/2005, 11h44

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