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

Suppression module

1 réponse
Avatar
tip.tiptop
Bonsoir tout le monde.
Pour des besoins de maintenance d'une petite appli qui tourne sous Excel
j'aimerais pouvoir par code supprimer un module et le remplacer par un
autre.

Es ce possible????

Par avance merci pour votre aide.

1 réponse

Avatar
michdenis
Bonjour tip.tiptop,


Copie tout ceci dans un module standard.

'----------------------------------
Sub test()

'Ajoute un module au classeur actif du nom de toto
AjouterUnModule ThisWorkbook, "toto"

'Supprime tout le code du module feuille "Feuil1"
SupprimeModule ThisWorkbook.VBProject.VBComponents("Feuil1")

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

'Si c'est un module standard, de classe ou formulaire, ces derniers sont
supprimés... si c'est une feuille module, tout le code est supprimé de
ce module feuille.

'---------------------------
Sub SupprimeModule(Module As Object)

Dim VbComps As Object
Set VbComps = Module.CodeModule.Parent.Collection

Select Case Module.Type
Case 100
With Module.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VbComps.Remove Module
End Select

End Sub

'------------------------------
Sub AjouterUnModule(Wk As Workbook, Nom As String)

Dim Obj As Object
' Module Standard : vbext_ct_StdModule= 1
' Module de Classe : vbext_ct_ClassModule = 2
' Formulaire : vbext_ct_MSForm = 3
' Module Feuille vbext_ct_Document = 100

'Selon le type de module que tu veux ajouter, tu remplaces
'le "1" par le chiffre correspondant
With Wk.VBProject.VBComponents
Set Obj = .Add(1)
Obj.Name = "Toto"
End With
Set Objt = Nothing

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



Salutations!




"tip.tiptop" a écrit dans le message de news: 4419e79a$0$20828$
Bonsoir tout le monde.
Pour des besoins de maintenance d'une petite appli qui tourne sous Excel
j'aimerais pouvoir par code supprimer un module et le remplacer par un
autre.

Es ce possible????

Par avance merci pour votre aide.