Modifier Code VBA avec macro
Bonjour le forum,
Après avoir fait des recherches dans le forum, j'ai trouvé cette discussion :
J'aimerais comprendre et donc essayer le code proposé par kiki, mais j'ai une erreur de compilation.
Je mets le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| Option Explicit
'======================================================================================
' Cocher Outils | Reférence Microsoft Visual Basic for Applications Extensibility 5.3
'======================================================================================
' Détruit Macro nommée Essai dans module nommé ModuleA de ThisWorkbook
Sub DelMacro()
Dim Debut As Long
Dim NbLignes As Long
Dim VBCodeMod As CodeModule
On Error GoTo Erreurs
Set VBCodeMod = ThisWorkbook.VBProject.VBComponents("ModuleA").CodeModule
With VBCodeMod
Debut = .ProcStartLine("Essai", vbext_pk_Proc)
NbLignes = .ProcCountLines("Essai", vbext_pk_Proc)
.DeleteLines Debut, NbLignes
End With
Exit Sub
Erreurs:
Debug.Print Err.Number & " " & Err.Description
End Sub
' Crée la Macro nommée Essai dans module nommé ModuleA dans ThisWorkbook
Sub CreerMacro()
Dim VBCodeMod As CodeModule
Dim x As Long
Set VBCodeMod = ThisWorkbook.VBProject.VBComponents("ModuleA").CodeModule
With VBCodeMod
x = .CountOfLines + 1
.InsertLines x, ""
.InsertLines x + 1, "Sub Essai()"
.InsertLines x + 2, " Msgbox ""Nouvelle Procedure"""
.InsertLines x + 3, "End Sub"
End With
End Sub
' Alternative
' Crée la Macro nommée Essai dans module nommé ModuleA de ThisWorkbook
Sub CreerMacro2()
Dim VBCodeMod As CodeModule
Dim x As Long, str As String
str = ""
Set VBCodeMod = ThisWorkbook.VBProject.VBComponents("ModuleA").CodeModule
With VBCodeMod
str = "Sub Essai()" & vbCrLf
str = str & " Msgbox ""Nouvelle Procedure""" & vbCrLf
str = str & "End Sub" & vbCrLf
x = .CountOfLines + 1
.InsertLines x, str
End With
End Sub |
Du coup, je n'ai pas tout à fait saisi ce que ses macros font exactement.
Si quelqu'un peut m'éclairer un peut.
Ce que je cherche à faire, moi, c'est de modifier le texte "aaa" par le texte "bbb" dans le code VBA.
Merci de votre aide