Bonjour

J'ai un programme que j'ai crée et je souhaite créer une macro qui supprime tous mes codes (macros) y compris le contenu de thisworkbook;ceci au cas ou celui qui n'a pas droit d'utiliser le copie sur son pc.
j'ai cherché sur le net et dans ce forum;j'ai trouvé une qui fonctionne bien mais seulement quand mon projet vb est déjà déverouillé.
Alors qu'il faut bien qu'il soit protégé!

Voici le code:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
 
Sub SupprimerModule(NomModule As String)
     With ThisWorkbook.VBProject.VBComponents(NomModule).CodeModule
         .DeleteLines 1, .CountOfLines
     End With
     With ActiveWorkbook.VBProject
    'cette partie du code est de Laurent Longre
     For Each VBC In .VBComponents
     If VBC.Type = 100 Then
 
     With VBC.CodeModule
     .DeleteLines 1, .CountOfLines
     .CodePane.Window.Close
     End With
     Else: .VBComponents.Remove VBC
     End If
     Next VBC
     End With
 
End Sub
 
Sub essai()
SupprimerModule "ThisWorkbook"
End Sub
Quand je l'exécute,un message d'erreur s'affiche:"Erreur d'exécution '50289':impossible d'effectuer cette opération tant que le projet est protégé"

Alors je pense à une solution comme on le fait pour déprotéger les feuilles en incluant le mot de pass dans la macro...;mais je ne sais comment y arriver.

quelqu'un peut il m'aider.merci d'avance.