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 :

Macro de suppression de code [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Par défaut Macro de suppression de code
    Bonjour à tous,

    Quelqu'un saurait par quel moyen le code VBA d'un module pourrait effacer le code VBA associé à un onglet.

    Merci.

  2. #2
    Membre éprouvé Avatar de Vadorblanc
    Profil pro
    Inscrit en
    Février 2008
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 309
    Par défaut
    Bonjour
    Essaie ce code qui fonctionne pour moi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    'Vous devez connaître le nom de la macro et le nom du module dans lequelle elle se trouve.
    'Vous devez ajouter la référence "Microsoft visual Basic For Application Extensenbility x.x" à votre projet
     
        'Supprimer la macro nommée "MaMacro" dans le "module3"
    Sub supprimerUneMacroPrecise()
    Dim Debut As Integer, Lignes As Integer
     
       With ThisWorkbook.VBProject.VBComponents("Module3").CodeModule
            Debut = .ProcStartLine("MaMacro", 0)
            Lignes = .ProcCountLines("MaMacro", 0)
           .DeleteLines Debut, Lignes
    '   End With
    Cordialement

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Par défaut
    Merci,

    Ce code me permet d'accéder au code d'un onglet d'un classeur avec le code d'un module d'un autre classeur.

    Le problème est que ".DeleteLines" ne fonctionne pas et provoque une erreur :
    "Argument ou appel de procédure incorrect"

    Je cherche toujours...

  4. #4
    Membre éprouvé Avatar de Vadorblanc
    Profil pro
    Inscrit en
    Février 2008
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 309
    Par défaut
    A faire aussi

    Outils/Macro/Sécurité/Editeurs approuvés et cocher Faire confiance au projet Visual Basic

    Cordialement

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Par défaut
    Rectifications :

    La méthode ".DeleteLines" fonctionne quand je l'applique par exemple sur la procédure "Worksheet_Activate". La procédure est effectivement supprimée.

    Je que je voudrais, c'est supprimer toutes les lignes. Et ça je n'y arrive pas encore.

    A suivre.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Par défaut
    Trouvé !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        With VBC.codemodule
     
           .DeleteLines 1, .CountOfLines
     
        End With
    Me permet de supprimer tout le code associé à un onglet

    Merci encore.

  7. #7
    Membre éprouvé Avatar de Vadorblanc
    Profil pro
    Inscrit en
    Février 2008
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 309
    Par défaut
    Je viens de vérifier, toutes les lignes sont supprmées

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub MaMacro()
    'Supprimer la macro nommée "MaMacro" dans le "module3"
     
    Dim Debut As Integer, Lignes As Integer
     
        With ThisWorkbook.VBProject.VBComponents("Module3").CodeModule
            Debut = .ProcStartLine("MaMacro", 0)
            Lignes = .ProcCountLines("MaMacro", 0)
            .DeleteLines Debut, Lignes
        End With
    End Sub

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

Discussions similaires

  1. [vba-e] Suppression De Code Automatique
    Par Kevin_18 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 06/04/2007, 14h15
  2. Suppression du code inutilisé
    Par pitango dans le forum Delphi
    Réponses: 8
    Dernier message: 22/03/2007, 17h39
  3. Problème sur macro (2 exécutions de code)
    Par Tsuna78 dans le forum Access
    Réponses: 2
    Dernier message: 19/03/2007, 20h24
  4. requête suppression/correction code
    Par sarah67 dans le forum Access
    Réponses: 12
    Dernier message: 15/02/2006, 15h49
  5. [C#] GridView suppression colonne code behind
    Par damn dans le forum ASP.NET
    Réponses: 2
    Dernier message: 31/10/2005, 12h33

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