Suppression Code VBA SAUF celui contenu ds ThisWorkbook
2 réponses
patrick.jacquart
Bonjour à tous,
Je cherche une petite astuce pour automatiser l'effacement de tous les
codes VBA dans un classeur avant de l'envoyer, SAUF le code contenu
dans this Workbook qui contient les informations de Mise à Jour.
Je connais le code pour tout supprimer, mais pas celui qui permet
d'epargner le code se trouvant dans this Workbook.
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 Pat,
Ceci supprime tous les modules Standard, de classe, formulaire, supprime tout le code des modules feuilles sauf le code inscrit dans ton ThisWorkbook
'------------------------------- 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 If UCase(VBComp.Name) <> "THISWORKBOOK" Then With VBComp.CodeModule .DeleteLines 1, .CountOfLines End With End If Case Else VBComps.Remove VBComp End Select Next VBComp
End Sub '-------------------------------
Salutations!
"Pat REDNEF" a écrit dans le message de news:
Bonjour à tous,
Je cherche une petite astuce pour automatiser l'effacement de tous les codes VBA dans un classeur avant de l'envoyer, SAUF le code contenu dans this Workbook qui contient les informations de Mise à Jour.
Je connais le code pour tout supprimer, mais pas celui qui permet d'epargner le code se trouvant dans this Workbook.
Merci d'avance à vous tous,
Quel plaisir ce forum !
Pat
Bonjour Pat,
Ceci supprime tous les modules Standard, de classe, formulaire, supprime tout le code des modules feuilles sauf le code
inscrit dans ton ThisWorkbook
'-------------------------------
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
If UCase(VBComp.Name) <> "THISWORKBOOK" Then
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
End If
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
End Sub
'-------------------------------
Salutations!
"Pat REDNEF" <patrick.jacquart@wanadoo.fr> a écrit dans le message de news:
50b64934.0503170529.68c9cc17@posting.google.com...
Bonjour à tous,
Je cherche une petite astuce pour automatiser l'effacement de tous les
codes VBA dans un classeur avant de l'envoyer, SAUF le code contenu
dans this Workbook qui contient les informations de Mise à Jour.
Je connais le code pour tout supprimer, mais pas celui qui permet
d'epargner le code se trouvant dans this Workbook.
Ceci supprime tous les modules Standard, de classe, formulaire, supprime tout le code des modules feuilles sauf le code inscrit dans ton ThisWorkbook
'------------------------------- 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 If UCase(VBComp.Name) <> "THISWORKBOOK" Then With VBComp.CodeModule .DeleteLines 1, .CountOfLines End With End If Case Else VBComps.Remove VBComp End Select Next VBComp
End Sub '-------------------------------
Salutations!
"Pat REDNEF" a écrit dans le message de news:
Bonjour à tous,
Je cherche une petite astuce pour automatiser l'effacement de tous les codes VBA dans un classeur avant de l'envoyer, SAUF le code contenu dans this Workbook qui contient les informations de Mise à Jour.
Je connais le code pour tout supprimer, mais pas celui qui permet d'epargner le code se trouvant dans this Workbook.
Merci d'avance à vous tous,
Quel plaisir ce forum !
Pat
Pat rednef
re bonjour,
je vais essayer de ce pas, mais à la lecture de ce code je sais que cela va marcher !!
Merci Michdenis, encore une fois toi qui me sauve,
Tjrs un honneur de se voir répondre par les "Grands"
Merci
Pat
Bonjour Pat,
Ceci supprime tous les modules Standard, de classe, formulaire, supprime tout le code des modules feuilles sauf le code inscrit dans ton ThisWorkbook
'------------------------------- 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 If UCase(VBComp.Name) <> "THISWORKBOOK" Then With VBComp.CodeModule .DeleteLines 1, .CountOfLines End With End If Case Else VBComps.Remove VBComp End Select Next VBComp
End Sub '-------------------------------
Salutations!
"Pat REDNEF" a écrit dans le message de news:
Bonjour à tous,
Je cherche une petite astuce pour automatiser l'effacement de tous les codes VBA dans un classeur avant de l'envoyer, SAUF le code contenu dans this Workbook qui contient les informations de Mise à Jour.
Je connais le code pour tout supprimer, mais pas celui qui permet d'epargner le code se trouvant dans this Workbook.
Merci d'avance à vous tous,
Quel plaisir ce forum !
Pat
re bonjour,
je vais essayer de ce pas, mais à la lecture de ce code je sais que cela va
marcher !!
Merci Michdenis, encore une fois toi qui me sauve,
Tjrs un honneur de se voir répondre par les "Grands"
Merci
Pat
Bonjour Pat,
Ceci supprime tous les modules Standard, de classe, formulaire, supprime tout le code des modules feuilles sauf le code
inscrit dans ton ThisWorkbook
'-------------------------------
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
If UCase(VBComp.Name) <> "THISWORKBOOK" Then
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
End If
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
End Sub
'-------------------------------
Salutations!
"Pat REDNEF" <patrick.jacquart@wanadoo.fr> a écrit dans le message de news:
50b64934.0503170529.68c9cc17@posting.google.com...
Bonjour à tous,
Je cherche une petite astuce pour automatiser l'effacement de tous les
codes VBA dans un classeur avant de l'envoyer, SAUF le code contenu
dans this Workbook qui contient les informations de Mise à Jour.
Je connais le code pour tout supprimer, mais pas celui qui permet
d'epargner le code se trouvant dans this Workbook.
je vais essayer de ce pas, mais à la lecture de ce code je sais que cela va marcher !!
Merci Michdenis, encore une fois toi qui me sauve,
Tjrs un honneur de se voir répondre par les "Grands"
Merci
Pat
Bonjour Pat,
Ceci supprime tous les modules Standard, de classe, formulaire, supprime tout le code des modules feuilles sauf le code inscrit dans ton ThisWorkbook
'------------------------------- 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 If UCase(VBComp.Name) <> "THISWORKBOOK" Then With VBComp.CodeModule .DeleteLines 1, .CountOfLines End With End If Case Else VBComps.Remove VBComp End Select Next VBComp
End Sub '-------------------------------
Salutations!
"Pat REDNEF" a écrit dans le message de news:
Bonjour à tous,
Je cherche une petite astuce pour automatiser l'effacement de tous les codes VBA dans un classeur avant de l'envoyer, SAUF le code contenu dans this Workbook qui contient les informations de Mise à Jour.
Je connais le code pour tout supprimer, mais pas celui qui permet d'epargner le code se trouvant dans this Workbook.