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
|
Option Explicit
Option Compare Text
Public Cpt As Integer
Function RemplaceDansCode(Wbk As Workbook, motRecherche As String, motRemplace As String)
Dim VBComp As Object
Dim NbLigneCode As Long
Dim CodeDuModule As Variant, LigneDeModule As Variant, T1 As Variant, T2 As Variant
Dim i As Double, j As Double
Dim NonTrouvé As Boolean
Cpt = 0
NonTrouvé = True
For Each VBComp In Wbk.VBProject.VBComponents
NbLigneCode = VBComp.CodeModule.CountOfLines
If NbLigneCode > 0 Then
CodeDuModule = VBComp.CodeModule.Lines(1, NbLigneCode)
LigneDeModule = Split(CodeDuModule, vbNewLine) 'Chr(13) + Chr(10))
For i = 0 To UBound(LigneDeModule)
If InStr(1, LigneDeModule(i), motRecherche) Then
NonTrouvé = False: Cpt = Cpt + 1
T1 = Split(LigneDeModule(i), motRecherche)
T2 = T1(0)
For j = 1 To UBound(T1)
T2 = T2 + motRemplace + T1(j)
Next j
VBComp.CodeModule.ReplaceLine i + 1, T2
End If
Next i
End If
Next
If NonTrouvé Then MsgBox motRecherche & " n'a pas été trouvé!"
End Function |
Partager