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..."
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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..."
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..."