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

Suppression Code VBA SAUF celui contenu ds ThisWorkbook

2 réponses
Avatar
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.

Merci d'avance à vous tous,

Quel plaisir ce forum !

Pat

2 réponses

Avatar
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
Avatar
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