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
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
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
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" <vince@discussions.microsoft.com> a écrit dans le message de news:
C511A444-D359-4DA2-A6CC-BE05EAA51342@microsoft.com...
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
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
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 >
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" <vince@discussions.microsoft.com> a écrit dans le message de news:
C511A444-D359-4DA2-A6CC-BE05EAA51342@microsoft.com...
> 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
>
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 >
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 > > > > >
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" <vince@discussions.microsoft.com> a écrit dans le message de news:
2A414619-26B5-43A2-8278-55442F288072@microsoft.com...
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" <vince@discussions.microsoft.com> a écrit dans le message de news:
> C511A444-D359-4DA2-A6CC-BE05EAA51342@microsoft.com...
> > 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
> >
>
>
>
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 > > > > >