VBE - Suppression de toutes les procédures d'un fichier EXCEL

Résolu
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 - 13 févr. 2007 à 11:05
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 - 13 févr. 2007 à 18:22
Bonjour,

Suite à la lecture d'un post, je suis tombé sur le lien suivant :
http://silkyroad.developpez.com/VBA/VisualBasicEditor/
(très instructif d'ailleurs, je vous le conseille ^^).

J'y ai trouvé ce qui devait faire mon bonheur : Un code qui me permet à la fermeture de mon fichier Excel, de supprimer tous les modules et toutes les procédures (pour simplifier : j'ai un fichier Excel appli, une fois tous les traitements effectués, je l'enregistre sous un autre nom, je remplace toutes les formules par les données brutes pour réduire la taille du fichier, et je voudrais supprimer toute trace de code pour éviter qu'à l'ouverture, mon utilisateur ait le message d'activation des macros, sans compter qu'elles sont devenues complètement inutiles).

J'ai donc activé dans mon code VBA la référence :
Visual basic For Application Extensibility 5.3

Et j'ai repris le code suivant :

Sub SupprimeTout()
'Enregistre le classeur et supprime la totalité des procéduresDim VbComp As VBComponent

ForEach VbComp In ThisWorkbook.VBProject.VBComponents
SelectCase VbComp.Type
Case 1 To 3
ThisWorkbook.VBProject.VBComponents.Remove VbComp
CaseElseWith VbComp.CodeModule
.DeleteLines 1, .CountOfLines
EndWithEndSelectNext VbComp

'Sauvegarde les modifications
ThisWorkbook.Save
EndSub

Ca plante dès le début de la procédure, sur la ligne

ForEach VbComp In ThisWorkbook.VBProject.VBComponents

avec le message d'erreur suivant :
"L'accès par programme au projet Visual Basic n'est pas fiable" et donc, ma procédure s'arrête.
Je ne vois pas du tout d'où ça peut venir, sans doute un paramètre de sécurité, mais là je sèche.

Si quelqu'un a une idée. D'avance merci.

Molenn

1 réponse

Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
13 févr. 2007 à 18:22
J'ai fini par trouver, c'était bien un paramètre de sécurité, mais il ne fallait pas le chercher dans l'éditeur VB. C'était directement dans le fichier Excel en fait (menu Outils\Macros\Sécurité dans l'onglet Source fiable, il fallait cocher Faire confiance au projet Visual Basic).


Molenn
3
Rejoignez-nous