(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 ...
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 ...