Vba excel: Détecter Macro

cs_Liro Messages postés 159 Date d'inscription jeudi 7 septembre 2006 Statut Membre Dernière intervention 30 septembre 2011 - 2 août 2007 à 15:24
cs_Liro Messages postés 159 Date d'inscription jeudi 7 septembre 2006 Statut Membre Dernière intervention 30 septembre 2011 - 22 août 2007 à 16:32
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

Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
2 août 2007 à 16:31
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
0
cs_Liro Messages postés 159 Date d'inscription jeudi 7 septembre 2006 Statut Membre Dernière intervention 30 septembre 2011
22 août 2007 à 16:32
Merci et comment supprimer un module une fois qu'on l'a détecté?
0
Rejoignez-nous