Option Explicit
Sub test()
Dim Rgn As Range
Set Rgn = [C6:C36]
'Rgn.Offset(, 1).Clear
Dim cel As Range
Dim Tcommune() As String
Dim NewCommune As String
Dim Match As Object
Dim Matches As Object
Dim StrPattern As String
Dim reg As Object
Set reg = CreateObject("VBScript.RegExp")
StrPattern = "(^\s(ste)\s)|(^(ste)\s)|(\s(ste)\s)|(\s(ste)\s$)|(^\s(st)\s)|(^(st)\s)|(\s(st)\s)|(\s(st)\s$)"
reg.Pattern = StrPattern
reg.MultiLine = True: reg.IgnoreCase = False: reg.Global = True
For Each cel In Rgn
Set Matches = reg.Execute(cel.Value)
ReDim Tcommune(Matches.Count)
For Each Match In Matches
'Debug.Print "source >>", Match.Value
NewCommune = reg.Replace(cel.Value, " Sainte ")
cel.Offset(, 9).Value = Trim(NewCommune)
Next Match
'Tcommune = Split(NewCommune, " ")
'Rgn = "'" & Join(Tcommune, "/")
'cel.Offset(, 9).Value = Tcommune(1)
Next cel
' libération d'objets
Set Matches = Nothing
Set Match = Nothing
Set reg = Nothing
Erase Tcommune
Set Rgn = Nothing
Set cel = Nothing
NewCommune = Empty
End Sub