Créer une macro permettant d'effacer des modules, des userforms,

Résolu/Fermé
yao.chris Messages postés 92 Date d'inscription mercredi 16 octobre 2013 Statut Membre Dernière intervention 6 août 2020 - 15 févr. 2014 à 20:13
yao.chris Messages postés 92 Date d'inscription mercredi 16 octobre 2013 Statut Membre Dernière intervention 6 août 2020 - 16 févr. 2014 à 02:25
Bonjour,

connaissez vous le moyen de créer une macro permettent d'effacer des modules, des userforms, code de thisworkbook et code feuille ?
J'ai essayé les codes trouvés sur le net mais aucun ne fonctionnent.

Merci pour votre aide.
yao
A voir également:

5 réponses

Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 943
15 févr. 2014 à 20:27
Salut le Forum

As-tu ajouté la référence
"Microsoft visual Basic For Application Extensenbility x.x" ?

Mytå
0
yao.chris Messages postés 92 Date d'inscription mercredi 16 octobre 2013 Statut Membre Dernière intervention 6 août 2020 2
15 févr. 2014 à 20:30
Bonsoir Myta,

Merci pour ta réponse.
Oui je l'ai fait mais sans résultat.
Y a t'il un moyen de créer une macro sans ajouter cette référence ?

Merci pour votre aide.
yao
0
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 943
15 févr. 2014 à 21:29
Salut le Forum

Pour effacer les modules de code.
Sub SupprimeModule()
'Macro de suppression des modules de code du classeur
    Dim i As Integer
    For i = ThisWorkbook.VBProject.VBComponents.Count To 1 Step -1
        If ThisWorkbook.VBProject.VBComponents.Item(i).Type = 1 Then
            ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents.Item(i)
        End If
    Next i
End Sub

Dans la partie sécurité des macros tu as un onglet "Éditeurs approuvés".
Dans cet onglet il faut cocher "Faire confiance au projet Visual Basic".

Mytå
0
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 943
Modifié par Mytå le 15/02/2014 à 21:36
Re le Forum

Complément d'information
        Type 1: Module Standard
Type 2: Module de Classe
Type 3: Userform
Type 100: Module de Feuille ou ThisWorkbook
Mytå
0
yao.chris Messages postés 92 Date d'inscription mercredi 16 octobre 2013 Statut Membre Dernière intervention 6 août 2020 2
15 févr. 2014 à 23:46
Bonsoir Mytå,

Je viens de mettre en application ta macro.
Tout marche super bien sauf le Type 100, j'ai une erreur d'exécution sur le Focus.

Le plus important pour moi était de supprimer les Userforms et les modules.
Les Type 1 et 3 fonctionnent à merveille.

Merci beaucoup pour ton aide.

Bonne nuit.
yao
0
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 943
16 févr. 2014 à 01:27
Re le Forum

Pour effacer tout les modules VBA du fichier.
Sub DeleteAllCodeInModule()
    Dim VBCodeMod As Object
    Dim I As Long
    With ThisWorkbook.VBProject
        For I = 1 To .VBComponents.Count
            Set VBCodeMod = .VBComponents(I).CodeModule
            VBCodeMod.DeleteLines 1, VBCodeMod.CountOfLines
        Next I
    End With
End Sub

Mytå
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yao.chris Messages postés 92 Date d'inscription mercredi 16 octobre 2013 Statut Membre Dernière intervention 6 août 2020 2
16 févr. 2014 à 02:25
Bonjour Mita,

Alors là, bravo !!!
C'est exactement ce que je cherchais, et ça marche super bien.

Merci pour ton aide précieuse.

Bonne journée et merci encore.
yao
0