Remplacer une macro par une autre par macro
Quelques remerciements aux sponsors... Christophe Jean, Papou, F Sigonneau, DJoss, CPearson, Laurent Longre, Michdenis, Hervé, P Fauconnier, et notre inoxydable Misange, Monsieur et Madame Google. C'est pire que le Tour de France !
sub majtuesub()
'supprimer une procédure d'un module feuille et uniquement cette procédure
'supprime l'événement Worksheet_Change
' 1 - lancer majtuesub() pour supprimer
' 2 - lancer majinstsub()pour installer la nouvelle sub qui est dans
' le fichier C:\submajfourdigit.txt
Dim Classeur As Workbook
Dim Module As Object
Dim n As Integer
For n = 3 To 84
DelProc ThisWorkbook, "Feuil" & n, "Worksheet_Change"
Next n
end subsub DelProc(Wbk As Workbook, CodeMod$, NomProc$)
Dim liDeb, NbLi
With Wbk.VBProject.VBComponents(CodeMod).CodeModule
liDeb = .ProcStartLine(NomProc, 0)
NbLi = .ProcCountLines(NomProc, 0)
.deleteLines liDeb, NbLi
End With
end subsub majinstsub()
Dim a_inserer
Dim Module As Object
Dim Classeur As Workbook
Dim n As Integer
Application.ScreenUpdating = False
With Application.FileSearch
On Error Resume Next
For Each Module In Classeur.VBProject.VBComponents
For n = 3 To 84
a_inserer = ActiveWorkbook.VBProject.VBComponents("Feuil" & n).Name
insertion_macro a_inserer
Next n
Next Module
End With
Application.ScreenUpdating = True
end subsub insertion_macro(a_inserer)
Dim vbcomp
For Each vbcomp In ActiveWorkbook.VBProject.VBComponents
If vbcomp.Name = a_inserer Then
With vbcomp.CodeModule
.AddFromFile ("C:\submajfourdigit.txt")
End With
Exit For
End If
Next vbcomp
end subAuteur : Twinley
Mots clefs associés à cette page : macro, dernière, remplacer, rechercher, supprimer
- Vous devez vous identifier ou créer un compte pour écrire des commentaires
