Dans VBE, j'ai 84 feuilles .cls qui ne servent =E0 rien (je crois) =E0
c=F4t=E9 de ma dizaine de macros dont je me sers. Est-ce que quelqu'un
sait comment supprimer ces fichiers qui rendent illisible l'afficahge ?
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
michdenis
Bonjour James,
Prend le temps de lire la procédure et désactive les lignes de code qui ne s'applique pas à ton cas.
Attention, tu dois adapter les noms des 2 (ou plus) modules standard que tu désires conserver ...ainsi que la condtion le cas échéant.
'-------------------------------------- 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 1 'Supprime module standard sanf 'module1 et module2) If VBComp.Name <> "Module1" And _ VBComp.Name <> "Module2" Then VBComp.Remove VBComp End If
Case 2 'Supprime module de classe If VBComp.Name <> "Classe1" Then VBComp.Remove VBComp End If
Case 3 'Supprime Userform VBComp.Remove VBComp
Case 100 'Supprime tout le code des feuilles modules With VBComp.CodeModule .DeleteLines 1, .CountOfLines End With End Select Next VBComp Set VBComp = Nothing: Set VBComps = Nothing End Sub '--------------------------------------
Salutations!
a écrit dans le message de news: Bonjour,
Dans VBE, j'ai 84 feuilles .cls qui ne servent à rien (je crois) à côté de ma dizaine de macros dont je me sers. Est-ce que quelqu'un sait comment supprimer ces fichiers qui rendent illisible l'afficahge ?
Merci par avance.
A+
J.
Bonjour James,
Prend le temps de lire la procédure et désactive les lignes de code qui ne s'applique pas à ton cas.
Attention, tu dois adapter les noms des 2 (ou plus) modules standard que tu désires conserver ...ainsi que la condtion le cas
échéant.
'--------------------------------------
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 1 'Supprime module standard sanf
'module1 et module2)
If VBComp.Name <> "Module1" And _
VBComp.Name <> "Module2" Then
VBComp.Remove VBComp
End If
Case 2 'Supprime module de classe
If VBComp.Name <> "Classe1" Then
VBComp.Remove VBComp
End If
Case 3 'Supprime Userform
VBComp.Remove VBComp
Case 100 'Supprime tout le code des feuilles modules
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
End Select
Next VBComp
Set VBComp = Nothing: Set VBComps = Nothing
End Sub
'--------------------------------------
Salutations!
<jamesTcarville@yahoo.fr> a écrit dans le message de news: 1122911506.860919.80650@g44g2000cwa.googlegroups.com...
Bonjour,
Dans VBE, j'ai 84 feuilles .cls qui ne servent à rien (je crois) à
côté de ma dizaine de macros dont je me sers. Est-ce que quelqu'un
sait comment supprimer ces fichiers qui rendent illisible l'afficahge ?
Prend le temps de lire la procédure et désactive les lignes de code qui ne s'applique pas à ton cas.
Attention, tu dois adapter les noms des 2 (ou plus) modules standard que tu désires conserver ...ainsi que la condtion le cas échéant.
'-------------------------------------- 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 1 'Supprime module standard sanf 'module1 et module2) If VBComp.Name <> "Module1" And _ VBComp.Name <> "Module2" Then VBComp.Remove VBComp End If
Case 2 'Supprime module de classe If VBComp.Name <> "Classe1" Then VBComp.Remove VBComp End If
Case 3 'Supprime Userform VBComp.Remove VBComp
Case 100 'Supprime tout le code des feuilles modules With VBComp.CodeModule .DeleteLines 1, .CountOfLines End With End Select Next VBComp Set VBComp = Nothing: Set VBComps = Nothing End Sub '--------------------------------------
Salutations!
a écrit dans le message de news: Bonjour,
Dans VBE, j'ai 84 feuilles .cls qui ne servent à rien (je crois) à côté de ma dizaine de macros dont je me sers. Est-ce que quelqu'un sait comment supprimer ces fichiers qui rendent illisible l'afficahge ?
Merci par avance.
A+
J.
jamesTcarville
Salut Michdenis,
Merci pour ta réponse, mais le code ne semble pas fonctionner. Peut-être devrais-je préciser que ces 84 feuilles se situent dans VBAProject(perso.xls). Aurais-tu une autre idée ? A+
J.
Salut Michdenis,
Merci pour ta réponse, mais le code ne semble pas fonctionner.
Peut-être devrais-je préciser que ces 84 feuilles se situent dans
VBAProject(perso.xls).
Aurais-tu une autre idée ?
A+
Merci pour ta réponse, mais le code ne semble pas fonctionner. Peut-être devrais-je préciser que ces 84 feuilles se situent dans VBAProject(perso.xls). Aurais-tu une autre idée ? A+
J.
michdenis
Bonjour James,
Tu as remarqué cette ligne de code de la procédure :
Set VBComps = ActiveWorkbook.VBProject.VBComponents
ActiveWorkbook = le classeur dans lequel la procédure est copiée
Tu peux modifier cette ligne de code pour signifier n'importe qu'elle autre classeur OUVERT.
Set VBComps = Workbooks("Perso.xls").VBProject.VBComponents
Salutations!
a écrit dans le message de news: Salut Michdenis,
Merci pour ta réponse, mais le code ne semble pas fonctionner. Peut-être devrais-je préciser que ces 84 feuilles se situent dans VBAProject(perso.xls). Aurais-tu une autre idée ? A+
J.
Bonjour James,
Tu as remarqué cette ligne de code de la procédure :
Set VBComps = ActiveWorkbook.VBProject.VBComponents
ActiveWorkbook = le classeur dans lequel la procédure est copiée
Tu peux modifier cette ligne de code pour signifier n'importe qu'elle autre classeur OUVERT.
Set VBComps = Workbooks("Perso.xls").VBProject.VBComponents
Salutations!
<jamesTcarville@yahoo.fr> a écrit dans le message de news: 1122974129.905042.69740@g49g2000cwa.googlegroups.com...
Salut Michdenis,
Merci pour ta réponse, mais le code ne semble pas fonctionner.
Peut-être devrais-je préciser que ces 84 feuilles se situent dans
VBAProject(perso.xls).
Aurais-tu une autre idée ?
A+
Tu as remarqué cette ligne de code de la procédure :
Set VBComps = ActiveWorkbook.VBProject.VBComponents
ActiveWorkbook = le classeur dans lequel la procédure est copiée
Tu peux modifier cette ligne de code pour signifier n'importe qu'elle autre classeur OUVERT.
Set VBComps = Workbooks("Perso.xls").VBProject.VBComponents
Salutations!
a écrit dans le message de news: Salut Michdenis,
Merci pour ta réponse, mais le code ne semble pas fonctionner. Peut-être devrais-je préciser que ces 84 feuilles se situent dans VBAProject(perso.xls). Aurais-tu une autre idée ? A+
J.
jamesTcarville
Merci, mais ce n'est pas encore cela. Les feuilles sont situées dans le dossier "Microsoft Excel Objets" de VBE. Est-ce que ça aide ? Merci, merci, merci !
A+ J.
Merci, mais ce n'est pas encore cela.
Les feuilles sont situées dans le dossier "Microsoft Excel Objets" de
VBE.
Est-ce que ça aide ?
Merci, merci, merci !
Merci, mais ce n'est pas encore cela. Les feuilles sont situées dans le dossier "Microsoft Excel Objets" de VBE. Est-ce que ça aide ? Merci, merci, merci !
A+ J.
michdenis
Bonjour James,
Peux-tu m'expliquer à quoi "Microsoft Excel Objets" fait référence ?
Habituellement, on y retrouve : des Modules Standard, des modules de classe, des formulaires (userforms) des Feuilles (Les objets) et le ThisWorkbook
Si tu veux faire disparaître les "Feuille en tant qu'objet" dans la fenêtre VBE, tu dois pour ce faire écrire une procédure pour supprimer les feuilles du classeur à partir du "Nom" des onglets des feuilles et non pas à partir de la propriété "Name" de l'objet Feuille.
Une petite macro comme celle-là devrait faire l'affaire:
Remplace dans la procédure le nom du classeur et le nom des feuilles que tu désires conserver. '------------------------------ Sub SupprimerFeuilles() Dim Sh As Worksheet
Application.DisplayAlerts = False With Workbooks("LeNomDuClasseur.xls") For Each Sh In .Worksheets If Sh.Name <> "NomOngletFeuille1Aconserver" And _ Sh.Name <> "NomOngletFeuille2Aconserver" Then Sh.Delete End If Next End With Application.DisplayAlerts = True Set Sh = Nothing End Sub '------------------------------
Salutations!
a écrit dans le message de news: Merci, mais ce n'est pas encore cela. Les feuilles sont situées dans le dossier "Microsoft Excel Objets" de VBE. Est-ce que ça aide ? Merci, merci, merci !
A+ J.
Bonjour James,
Peux-tu m'expliquer à quoi "Microsoft Excel Objets" fait référence ?
Habituellement, on y retrouve :
des Modules Standard,
des modules de classe,
des formulaires (userforms)
des Feuilles (Les objets)
et le ThisWorkbook
Si tu veux faire disparaître les "Feuille en tant qu'objet" dans la fenêtre VBE, tu dois pour ce faire écrire une procédure pour
supprimer les feuilles du classeur à partir du "Nom" des onglets des feuilles et non pas à partir de la propriété "Name" de l'objet
Feuille.
Une petite macro comme celle-là devrait faire l'affaire:
Remplace dans la procédure le nom du classeur et le nom des feuilles que tu désires conserver.
'------------------------------
Sub SupprimerFeuilles()
Dim Sh As Worksheet
Application.DisplayAlerts = False
With Workbooks("LeNomDuClasseur.xls")
For Each Sh In .Worksheets
If Sh.Name <> "NomOngletFeuille1Aconserver" And _
Sh.Name <> "NomOngletFeuille2Aconserver" Then
Sh.Delete
End If
Next
End With
Application.DisplayAlerts = True
Set Sh = Nothing
End Sub
'------------------------------
Salutations!
<jamesTcarville@yahoo.fr> a écrit dans le message de news: 1122996676.292640.234950@g14g2000cwa.googlegroups.com...
Merci, mais ce n'est pas encore cela.
Les feuilles sont situées dans le dossier "Microsoft Excel Objets" de
VBE.
Est-ce que ça aide ?
Merci, merci, merci !
Peux-tu m'expliquer à quoi "Microsoft Excel Objets" fait référence ?
Habituellement, on y retrouve : des Modules Standard, des modules de classe, des formulaires (userforms) des Feuilles (Les objets) et le ThisWorkbook
Si tu veux faire disparaître les "Feuille en tant qu'objet" dans la fenêtre VBE, tu dois pour ce faire écrire une procédure pour supprimer les feuilles du classeur à partir du "Nom" des onglets des feuilles et non pas à partir de la propriété "Name" de l'objet Feuille.
Une petite macro comme celle-là devrait faire l'affaire:
Remplace dans la procédure le nom du classeur et le nom des feuilles que tu désires conserver. '------------------------------ Sub SupprimerFeuilles() Dim Sh As Worksheet
Application.DisplayAlerts = False With Workbooks("LeNomDuClasseur.xls") For Each Sh In .Worksheets If Sh.Name <> "NomOngletFeuille1Aconserver" And _ Sh.Name <> "NomOngletFeuille2Aconserver" Then Sh.Delete End If Next End With Application.DisplayAlerts = True Set Sh = Nothing End Sub '------------------------------
Salutations!
a écrit dans le message de news: Merci, mais ce n'est pas encore cela. Les feuilles sont situées dans le dossier "Microsoft Excel Objets" de VBE. Est-ce que ça aide ? Merci, merci, merci !