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

Modfier une macro avec une macro

1 réponse
Avatar
ccorroyer
Bonjour,

Peut-on modifier une macro =E0 partir d'une autre ? (si oui
comment ? :-))

Merci

1 réponse

Avatar
MichDenis
Oui c'est possible... mais remplacer une ligne de code c'est alambiqué !

Je te propose plutôt d'effacer la procédure que tu veux modifier et la remplacer par une autre

Tu exécute la procédure test ....
'-----------------------------
Sub test()

ClearThisWorkbookCode "test1", "Feuil1"
AjouteLeCode

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

Supprime la procédure Test1 du module Feuil1
'-------------------------------
Sub ClearThisWorkbookCode(ByVal NomProcédure As String, _
NomDuClasseur As String)

Dim StartLine As Long, LineCount As Long
On Error Resume Next

With ThisWorkbook.VBProject.VBComponents("Feuil1").CodeModule
StartLine = .ProcStartLine(NomProcédure, 0)
If StartLine Then
LineCount = .ProcCountLines(NomProcédure, 0)
.DeleteLines StartLine, LineCount
End If
End With

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

'Pour ajouter une procédure "Sub MonAjout()" au module de la feuil1
'---------------------------
Sub AjouteLeCode()

Dim LeCode As String
LeCode = "Sub MonAjout()" & vbCrLf
LeCode = LeCode & "Msgbox ""bonjour""" & vbCrLf
LeCode = LeCode & "End Sub" & vbCrLf

With ThisWorkbook.VBProject.VBComponents("Feuil1").CodeModule
.AddFromString LeCode
End With

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



a écrit dans le message de news:

Bonjour,

Peut-on modifier une macro à partir d'une autre ? (si oui
comment ? :-))

Merci