(VBA) Suppression modules

Hello le forum,

Je refais un post car je n'ai finalement pas trouvé ma solution...

Je veux supprimer 2 modules sur tous les fichiers xlsm d'un répertoire dont le projet est verrouillé.

J'utilise un classeur vierge avec cette macro mais elle ne supprime rien ... alors que si je copie les 2 modules dans ce classeur pour tester, la macro fonctionne ...

Pourriez-vous m'aider svp

Sub BoucleFichiers()
    Dim Chemin As String, Fichier As String

    'Définit le répertoire contenant les fichiers
    Chemin = "C:\Users\HOHO\Documents\EXO VBA\Fichiers_B\Ajout_Col_Type\F_D_B\Test\"

    'Boucle sur tous les fichiers xls du répertoire.
    Fichier = Dir(Chemin & "*.xlsm")
    'Utilisez la syntaxe suivante pour boucler sur tous les types de fichiers:
    'Fichier = Dir(Chemin & "*.*")

    Do While Len(Fichier) > 0
        'écrit le résultat dans la fenêtre d'exécution (Ctrl+G).
        Workbooks.Open Chemin & Fichier
'        ActiveWorkbook.Unprotect "TATA"
        UnprotectVBProject ActiveWorkbook, "TOTO"
'        MsgBox ActiveWorkbook.Name
        Set vbProj = ActiveWorkbook.VBProject
        Set VBComp = vbProj.VBComponents("DECLARATIONS")
        vbProj.VBComponents.Remove VBComp
        vbProj = Empty
        VBComp = Empty
        Set vbProj = ActiveWorkbook.VBProject
        Set VBComp = vbProj.VBComponents("Mod_Feuille_Besoin")
        vbProj.VBComponents.Remove VBComp
        Fichier = Dir()
    Loop
End Sub

Sub UnprotectVBProject(WB As Workbook, ByVal Password As String)
Dim vbProj As Object
Set vbProj = WB.VBProject
If vbProj.Protection <> 1 Then Exit Sub
Set Application.VBE.ActiveVBProject = vbProj
SendKeys Password & "~~"
Application.VBE.CommandBars(1).FindControl(ID:=2578, recursive:=True).Execute
DoEvents
End Sub

Je viens de peaufiner mon analyse ...

Mon programme supprime "UserForm1" mais "DECLARATIONS" non ...

J'ai testé dans des fichiers exemples ça fonctionne ... il n'y a que dans mes fichiers que ça ne fonctionne pas ... et apparemment c'est selon le nom ... car "UserForm1" "Module1" "Module2" la suppression se fait ...

Je comprends pas ...

Rechercher des sujets similaires à "vba suppression modules"