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
| ' Texte = texte où rechercher l'expression à remplacer.
' TexteRecherché = expression à remplacer.
' NouveauTexte = expression de remplacement.
' Départ = numéro de caractère du début de la recherche, commençant à 1.
Public Function Remplacer(ByVal Texte As String, ByVal TexteRecherché As String, _
ByVal NouveauTexte As String, Optional ByVal Départ As Integer = 1) As String
Dim strTemp1 As String, strTemp2 As String
Dim I As Integer
On Error GoTo RemplacerErr
strTemp1 = Texte
I = InStr(Départ, strTemp1, TexteRecherché)
Do Until I = 0
strTemp2 = Left(strTemp1, I - 1) & NouveauTexte _
& Right(Texte, Len(strTemp1) - I - Len(TexteRecherché) + 1)
strTemp1 = strTemp2
I = InStr(I + Len(NouveauTexte), strTemp1, TexteRecherché)
Loop
Remplacer = strTemp1
Exit Function
RemplacerErr:
' Gestion d'erreur simplissime, il ne peut pas se passer grand-chose
' sauf si Départ est inférieur à 1
Select Case Err.Number
Case Else
Err.Raise Number:=vbObjectError + 1000, _
Description:="Erreur dans la fonction Remplacer : " & vbCrLf & Err.Description
End Select
End Function |
Partager