Supprimer module classeur ouvert par VBA

Bonjour tous,

J'utilise le code suivant pour supprimer les module d'un classeur excel. Il marche très bien.

[CODE]1.    Sub SupprimeModule()

2.    'Macro de suppression de l'intégralité des modules de code d'un classeur défini

3.    'le dit classeur étant ouvert

4.    Dim Wk As Workbook

5.    Set Wk = Workbooks("Classeur1.xls" )

6.    Dim i As Integer

7.    For i = Wk.VBProject.VBComponents.Count To 1 Step -1

8.    If Wk.VBProject.VBComponents.Item(i).Type = 1 Then

9.    Wk.VBProject.VBComponents.Remove Wk.VBProject.VBComponents.Item(i)

10.    End If

11.    Next i

12.    End Sub

[/CODE]

Néanmoins je voudrais l'adapter pour qu'il ne soit plus nominatif "classeur1.xls" et donc qu'il supprime les modules du classeur ouvert (le nom change souvent et est variable).

Je voudrais ajouter une ligne de code à la fin pour qu'il protège le projet VBA par un code et qu'il ne soit pas accessible par l'utilisateur.

Merci par avance pour votre aide toujours si précieuse.

Bonjour,

Le classeur est ouvert parce qu'il vient d'être créé ? Si c'est le cas :

5.    Set Wk = Activeworkbook

Pour le reste, je ne sais pas, je vais regarder si personne ne vous apporte de réponse.

Edit : Mais pourquoi protéger un projet sans module ?

Cdlt,

Parce que j'ai une macro workbook open à l'ouverture et faut quelle reste.

Rechercher des sujets similaires à "supprimer module classeur ouvert vba"