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 : Sélectionner tout - Visualiser dans une fenêtre à part
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