Vba excel: Détecter Macro

Signaler
Messages postés
159
Date d'inscription
jeudi 7 septembre 2006
Statut
Membre
Dernière intervention
30 septembre 2011
-
Messages postés
159
Date d'inscription
jeudi 7 septembre 2006
Statut
Membre
Dernière intervention
30 septembre 2011
-
Bonjour,

Es-ce qu'il est possible par macro de détecter si un autre classeur possède un module?
Merci par avance

Liro

2 réponses

Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
6
C'est possible :

Sub Test()


    'Nécéssite d'activer la référence
    '"Visual basic For Application Extensibility 5.3"
   
    Dim VBComp As VBComponents
    Dim VBTest As VBComponent


    Set VBComp = ActiveWorkbook.VBProject.VBComponents
    For Each VBTest In VBComp
        'Vérification de la présence d'un module de classe
        If VBTest.Type = vbext_ct_ClassModule Then
            MsgBox "Il existe au moins un module de classe"
        End If
        'Vérification de la présence d'un module standard
        If VBTest.Type = vbext_ct_StdModule Then
            MsgBox "Il existe au moins un module standard"
        End If
    Next
   
End Sub

Là, je ne te compte pas les modules, et je ne le fais que pour le classeur actif. Mais en modifiant un tout petit peu le code, tu peux vérifier un autre fichier Excel (par contre, je pense qu'il faut l'ouvrir avant) et compter le nombre de modules.

Molenn
Messages postés
159
Date d'inscription
jeudi 7 septembre 2006
Statut
Membre
Dernière intervention
30 septembre 2011

Merci et comment supprimer un module une fois qu'on l'a détecté?