Bonjour à tous,
Quelqu'un a-t-il déjà auto-supprimé un module VBA (si c'est possible)?
Je voudrai supprimer le code à la fin de la macro, permettant de ne pas le livrer dans le fichier finalisé.![]()
Bonjour à tous,
Quelqu'un a-t-il déjà auto-supprimé un module VBA (si c'est possible)?
Je voudrai supprimer le code à la fin de la macro, permettant de ne pas le livrer dans le fichier finalisé.![]()
tu copie les feuilles utiles du fichier dans un autre fichier, et c'est celui que tu transmetra
Salut did103
En toute logique un code ne peu pas s'auto-supprimer
Par contre rien ne t'oblige à ce que le code soit dans le même classeur que celui sur lequel il agit, à condition d'être sur un module général.
A+
bonjour
Cet exemple sauvegarde le classeur contenant la macro, puis supprime la totalité des procédures.
La macro "SupprimeTout" est aussi détruite.
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 Sub SupprimeTout() 'Enregistre le classeur et supprime la totalité des procédures Dim VbComp As VBComponent 'Enregistre le classeur ThisWorkbook.SaveAs "C:\Sauvegarde.xls" For Each VbComp In ThisWorkbook.VBProject.VBComponents Select Case VbComp.Type Case 1 To 3 ThisWorkbook.VBProject.VBComponents.Remove VbComp Case Else With VbComp.CodeModule .DeleteLines 1, .CountOfLines End With End Select Next VbComp End Sub
http://silkyroad.developpez.com/VBA/VisualBasicEditor/
bon après midi
michel
à tous pour votre aide.
C'est la solution de SilkyRoad qui me semble la meilleure et la plus adaptée.
Je teste cela...
Michel,
le type VBComponent, c'est en 2007
parcequ'en 2003, il n'est pas reconnu...
Si je supprime la ligne de déclaration, j'ai une erreur 1004:
"L'accès par programme au projet VB n'est pas fiable"
As-tu activé la référence "Visual basic For Application Extensibility 5.3"
Dans l'éditeur VB -> Outils -> Références
bonjour
Si je supprime la ligne de déclaration, j'ai une erreur 1004:
"L'accès par programme au projet VB n'est pas fiable"
Menu Outils
Macro
Sécurité
Onglet "Sources fiables"
Coche les deux options
Clique sur le bouton OK pour valider
bonne journée
michel
Merci, pour l'info de la coche dans la sécu des macros.
Je n'y avais jamais fait attention.
Ouskél'Nord, je n'ai pas cette possibilité.
Cela marche très bien si j'enlève le type:
Pour compliquer un peu (et surtout comprendre le code), peux-t-on sélectionner les modules à supprimer
Code : Sélectionner tout - Visualiser dans une fenêtre à part Dim VbComp As VBComponent
Le Case 1 à 3 donne quoi? Et le Else, à quoi sert-il?
J'ai rien trouvé dans l'aide VBA sur ces "composants VB", les VB Comp...
Salut, regarde le lien donné par SilkyRoad http://silkyroad.developpez.com/VBA/...cEditor/#LIV-D
Partager