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

suppression totalité codes vba par macro excel

3 réponses
Avatar
vince
Bonjour,

je souhaiterais trouver le code VBA qui permette de supprimer la totalité
d'un code VBA (modules + code sur feuille et onglets,...) d'un fichier excel
: j'ai trouvé et utilisé la ressource suivante qui fonctionne avec Excel 2000
mais pas avec les versions ultérieures :
http://www.cpearson.com/excel/vbe.htm

Merci d'avance

3 réponses

Avatar
Hervé
Salut Vince,
As tu coché la référence "MicroSoft Visual Basic for Application
Extensibility ? Sinon essai ceci, ça fonctionne chez moi avec Excel XP
(issus de l'exemple) :

Sub DeleteAllCodeInModule()
Dim VBCodeMod As Object
Dim I As Long
With ThisWorkbook.VBProject
For I = 1 To .VBComponents.Count
Set VBCodeMod = .VBComponents(I).CodeModule
VBCodeMod.DeleteLines 1, VBCodeMod.CountOfLines
Next I
End With
End Sub

Hervé

"vince" a écrit dans le message de news:

Bonjour,

je souhaiterais trouver le code VBA qui permette de supprimer la totalité
d'un code VBA (modules + code sur feuille et onglets,...) d'un fichier
excel
: j'ai trouvé et utilisé la ressource suivante qui fonctionne avec Excel
2000
mais pas avec les versions ultérieures :
http://www.cpearson.com/excel/vbe.htm

Merci d'avance



Avatar
vince
Salut Hervé,

Merci pour l'info, mais cela ne fonctionne pas sous Excel XP bien que j'ai
coché la référence Extensibility : je crois que la raison est que le code qui
reste est dans un onglet et non pas dans un module

Peut être y - a t'il un truc ?

Salutations !

"Hervé" wrote:

Salut Vince,
As tu coché la référence "MicroSoft Visual Basic for Application
Extensibility ? Sinon essai ceci, ça fonctionne chez moi avec Excel XP
(issus de l'exemple) :

Sub DeleteAllCodeInModule()
Dim VBCodeMod As Object
Dim I As Long
With ThisWorkbook.VBProject
For I = 1 To .VBComponents.Count
Set VBCodeMod = .VBComponents(I).CodeModule
VBCodeMod.DeleteLines 1, VBCodeMod.CountOfLines
Next I
End With
End Sub

Hervé

"vince" a écrit dans le message de news:

> Bonjour,
>
> je souhaiterais trouver le code VBA qui permette de supprimer la totalité
> d'un code VBA (modules + code sur feuille et onglets,...) d'un fichier
> excel
> : j'ai trouvé et utilisé la ressource suivante qui fonctionne avec Excel
> 2000
> mais pas avec les versions ultérieures :
> http://www.cpearson.com/excel/vbe.htm
>
> Merci d'avance
>





Avatar
vince
Salut Hervé,

Sur le forum Excel, Michdenis a donné l'astuce : la voici :
========================================== Bonjour Vince,

Il n'y a aucune raison que la procédure transmise ne fonctionne sous excel
2002 ou 2003.
Cependant avec des 2 versions, à partir de la barre de menus de la feuille
de calcul /
outils / macro / sécurité / Onglet : éditeurs approuvés , cocher les 2 cases
à cocher
dans le bas de la fenêtre et tes macros vont de nouveau fonctionner rondement.


Salutations!


"vince" a écrit dans le message de news:

Bonjour et merci pour l'info, mais cela ne fonctionne pas sous XP (ok pour
Excel 2000). Peut être y a-t-il une autre astuce pour XP ?

Merci encore

"michdenis" a écrit :

Bonjour Vince,

Cette procédure supprime toute trace de code dans les modules feuille,
supprime les modules de classe, les modules standards et les formulaires
du classeur actif au moment de lancer la procédure.

Pour un classeur ouvert déterminé d'avance, tu modifies cette ligne
de code : Set VBComps = ActiveWorkbook.VBProject.VBComponents
Par Set VBComps = Workbooks("NomDuClasseur").VBProject.VBComponents

'------------------------------
Sub SupprimeToutCodeEtFormulaire()

Dim VBComp As Object
Dim VBComps As Object

Set VBComps = ActiveWorkbook.VBProject.VBComponents

For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp

End Sub
'------------------------------


Salutations!



========================================== "vince" a écrit :

Salut Hervé,

Merci pour l'info, mais cela ne fonctionne pas sous Excel XP bien que j'ai
coché la référence Extensibility : je crois que la raison est que le code qui
reste est dans un onglet et non pas dans un module

Peut être y - a t'il un truc ?

Salutations !

"Hervé" wrote:

> Salut Vince,
> As tu coché la référence "MicroSoft Visual Basic for Application
> Extensibility ? Sinon essai ceci, ça fonctionne chez moi avec Excel XP
> (issus de l'exemple) :
>
> Sub DeleteAllCodeInModule()
> Dim VBCodeMod As Object
> Dim I As Long
> With ThisWorkbook.VBProject
> For I = 1 To .VBComponents.Count
> Set VBCodeMod = .VBComponents(I).CodeModule
> VBCodeMod.DeleteLines 1, VBCodeMod.CountOfLines
> Next I
> End With
> End Sub
>
> Hervé
>
> "vince" a écrit dans le message de news:
>
> > Bonjour,
> >
> > je souhaiterais trouver le code VBA qui permette de supprimer la totalité
> > d'un code VBA (modules + code sur feuille et onglets,...) d'un fichier
> > excel
> > : j'ai trouvé et utilisé la ressource suivante qui fonctionne avec Excel
> > 2000
> > mais pas avec les versions ultérieures :
> > http://www.cpearson.com/excel/vbe.htm
> >
> > Merci d'avance
> >
>
>
>