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

Supprimer macro evenementielle

2 réponses
Avatar
Droopy191
Salut,

Je duplique une feuille dans un nouveau classeur par
ActiveSheet.Copy

Dans ce nouveau classeur qui n'a donc qu'une seule feuille, je voudrais
supprimer une macro inscrite dans le code de cette feuille.
En l'occurrence, l'événement associé à un click de bouton.

Comment faire ?
j'ai lu et tester les procédures procédures proposées dans
http://www.excelabo.net/excel/macrossupprimer.php
je n'arrive pas à l'appliquer à un code de feuille

Ma macro
'Suppression de la macro dans le classeur
Dim LiDeb, NbLi
With ActiveWorkbook.VBProject.VBComponents("MaFeuill").CodeModule
LiDeb = .ProcStartLine("Btn_Enregistrer_Click", 0)
NbLi = .ProcCountLines("Btn_Enregistrer_Click", 0)
.DeleteLines LiDeb, NbLi
End With

Je pense que je "décris" mal ma feuille


Merci de votre aide

--
DR

2 réponses

Avatar
LSteph
Bonsoir Droopy

Exemple le code dans le thisworkbook du classeur initial
et on duplique par dlblclic sur la feuille voulue:

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, _
ByVal Target As Range, Cancel As Boolean)

'....
ActiveSheet.Copy
With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.Name).CodeModule

Do While .CountOfLines <> 0
.DeleteLines 1
Loop
End With
ActiveWorkbook.SaveAs "sansmacro.xls"
End Sub

'lSteph

Salut,

Je duplique une feuille dans un nouveau classeur par
ActiveSheet.Copy

Dans ce nouveau classeur qui n'a donc qu'une seule feuille, je voudrais
supprimer une macro inscrite dans le code de cette feuille.
En l'occurrence, l'événement associé à un click de bouton.

Comment faire ?
j'ai lu et tester les procédures procédures proposées dans
http://www.excelabo.net/excel/macrossupprimer.php
je n'arrive pas à l'appliquer à un code de feuille

Ma macro
'Suppression de la macro dans le classeur
Dim LiDeb, NbLi
With ActiveWorkbook.VBProject.VBComponents("MaFeuill").CodeModule
LiDeb = .ProcStartLine("Btn_Enregistrer_Click", 0)
NbLi = .ProcCountLines("Btn_Enregistrer_Click", 0)
.DeleteLines LiDeb, NbLi
End With

Je pense que je "décris" mal ma feuille


Merci de votre aide



Avatar
Droopy191
Salut,

Je duplique une feuille dans un nouveau classeur par
ActiveSheet.Copy

Dans ce nouveau classeur qui n'a donc qu'une seule feuille, je voudrais
supprimer une macro inscrite dans le code de cette feuille.
En l'occurrence, l'événement associé à un click de bouton.

Comment faire ?
j'ai lu et tester les procédures procédures proposées dans
http://www.excelabo.net/excel/macrossupprimer.php
je n'arrive pas à l'appliquer à un code de feuille

Ma macro
'Suppression de la macro dans le classeur
Dim LiDeb, NbLi
With ActiveWorkbook.VBProject.VBComponents("MaFeuill").CodeModule
LiDeb = .ProcStartLine("Btn_Enregistrer_Click", 0)
NbLi = .ProcCountLines("Btn_Enregistrer_Click", 0)
.DeleteLines LiDeb, NbLi
End With

Je pense que je "décris" mal ma feuille


Merci de votre aide



bon j'ai trouvé comment faire
la macro est correcte
mais

- Il faut activer dans le VB editor "Microsoft Visual Basic For
Applications Extensibility 5.3."
- Dans Excel / outils / macros / securité / Editeurs approuvés / cocher
"Faire confiance au projet Visual Basic

un lien avec plein d'info pour maniper les modules et procédures
http://www.cpearson.com/excel/vbe.aspx


Désolé pour le bruit

--
DR