Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Supprimer toutes les procédures et fonctions VBA

1 réponse
Avatar
Nemroth
Bonjour à tous,

Comment est-il possible de supprimer toutes les macros (procédures et
fonctions) d'un classeur avant de quitter, de façon à ne pas avoir le
message à l'ouverture "Voulez-vous activer les macros..."

Par avance merci

Nemroth

1 réponse

Avatar
Nemroth
Bonjour Michel,

Je vais essayer ... sur un classeur de test, bien sûr...

Merci


Bonjour,

Voici une procédure qui supprime toutes les macros d'un classeur,
à utiliser avec PRUDENCE

Sub SuppCode()
Dim M As Object, Composants As Object
Set Composants = ActiveWorkbook.VBProject.VBComponents
For Each M In Composants
' Test type module (1 pour les modules standards,
' 2 pour les modules de classe, 3 pr les modules de UserForm,
' 100 pr les modules de feuille et le module ThisWorkbook)
If M.Type <= 3 Then
Composants.Remove M
Else
With M.CodeModule
.DeleteLines 1, .CountOfLines
End With
End If
Next M
End Sub

Elle supprime les modules standards, les modules de classe et les UserForms
et efface le contenu des modules attachés aux feuilles ainsi que celui du module
ThisBorkbook.

NB - Il est probablement nécessaire que dans les références (menu "Outils"
de VBA), "Microsoft Visual Basic for Applications Extensibility" soit coché.

ATTENTION : le traitement s'applique au classeur actif ; il est donc impératif
de vérifier qu'il s'agit du bon.

Je te conseille également de prévoir un message de confirmation.

L'idéal serait d'avoir un UserForm qui affiche la liste des classeurs ouverts, afin
de pouvoir choisir celui ou ceux dont les macros sont à effacer


Bonjour à tous,

Comment est-il possible de supprimer toutes les macros (procédures et
fonctions) d'un classeur avant de quitter, de façon à ne pas avoir le
message à l'ouverture "Voulez-vous activer les macros..."

Par avance merci

Nemroth


--
Cordialement,

Michel Gaboly
http://www.gaboly.com