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

VBA Discussion :

Supression de code VBA par du code VBA


Sujet :

VBA

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 481
    Points : 165
    Points
    165
    Par défaut Supression de code VBA par du code VBA
    Bonjour,

    La question du jour est la suivante : est-il possible de supprimer du code VBA par du code VBA ?

    Ma problématique est liée au fait que j'essaye d'importer le code VBA contenu dans des feuilles et le ThisWorkbook et qu'il me fait apparaître une morceau de code qui normalement est caché...

    ce sont les lignes suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    VERSION 1.0 CLASS
    BEGIN
      MultiUse = -1  'True
    End
    Et en plus il m'ajouet l'option "Option Explicit" avant.


    Voici ce que j'ai fais :

    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
     
     
     
     
     
    Private Sub SubImportModuleCode( _
            ByVal Wb As Workbook, _
            ByVal ModuleName As String, _
            ByVal ImportFromFile As String)
     
    ' imports code to ModuleName in wb from a textfile named ImportFromFile
        Dim VBCM        As CodeModule
     
    On Error Resume Next
     
        'TODO : désactiver le "Option Explicit"
     
        If Dir(ImportFromFile) = "" Then Exit Sub
        Set VBCM = Wb.VBProject.VBComponents(ModuleName).CodeModule
        If Not VBCM Is Nothing Then
            VBCM.AddFromFile ImportFromFile
            Set VBCM = Nothing
        End If
     
        'TODO : résactiver le "Option Explicit"
     
    On Error GoTo 0
     
    End Sub
    Comment puis-je m'en sortir s'il vous plait ?

    Par avance merci.

    Marco.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 628
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 628
    Points : 34 331
    Points
    34 331
    Par défaut
    Salut,

    la piste de la pour la suppression de lignes est une bonne base a mon avis :

    http://vb.developpez.com/faqvba/?page=3.6#deletemacro


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .DeleteLines Debut, Lignes
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 481
    Points : 165
    Points
    165
    Par défaut
    Bonjour,

    Désolé pour cette réponse tardive et merci pour tes conseils.

    Le code final en intégrant ta remarque est donc le suivant :

    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
    32
     
     
     
     
    Private Sub SubImportClasseurCode( _
            ByVal Wb As Workbook, _
            ByVal ModuleName As String, _
            ByVal ImportFromFile As String, _
            ByVal BoolImportPartiel As Boolean)
     
    ' imports code to ModuleName in wb from a textfile named ImportFromFile
        Dim VBCM        As CodeModule
     
        Dim IntDeb      As Integer
        Dim IntFin      As Integer
     
    On Error Resume Next
     
        If Dir(ImportFromFile) = "" Then Exit Sub
        Set VBCM = Wb.VBProject.VBComponents(ModuleName).CodeModule
        If Not VBCM Is Nothing Then
            VBCM.AddFromFile ImportFromFile
     
            VBCM.DeleteLines 1, 6  'Je prends les 7 premières lignes
        End If
        Set VBCM = Nothing
     
    On Error GoTo 0
     
    Sortie:
     
    End Sub
    De cette manière il n'y a plus besoin de désactiver l'option explicit comme le pensais initialement.

    Par ailleur ça va pouvoir m'aider pour autre chose.

    Cordialement.

    Marco.

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 628
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 628
    Points : 34 331
    Points
    34 331
    Par défaut
    Ok,
    super, si tu estimes cette question resolue, pense au tag
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

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

Discussions similaires

  1. Afficher le code et non le code traité par le server
    Par H-hich dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/05/2007, 11h49
  2. Réponses: 3
    Dernier message: 21/05/2007, 17h34
  3. [VBA-E] Ajouter une reference par le code
    Par mustang-ffw02 dans le forum Installation, Déploiement et Sécurité
    Réponses: 12
    Dernier message: 21/11/2006, 19h28
  4. [Excel] Injecter du code VBA par le biais d'un fichier *.cvs
    Par llsn dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/05/2006, 20h42
  5. Réponses: 4
    Dernier message: 13/10/2005, 14h44

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