Public Function Replace(strTexte As Variant, strRech As String, strRemp As String) as string ' StrText = texte dans lequel faire la recherche ' strRech = texte à chercher ' strRemp = texte de remplacement à mettre à la place de strRech ' Valeur de retour = chaine modifiée Dim i As Long, TexteDeb As String, TexteRes As String
If IsNull(strTexte) Then Exit Function TexteDeb = strTexte TexteRes = "" While TexteDeb <> "" i = InStr(1, TexteDeb, strRech) If i = 0 Then TexteRes = TexteRes + TexteDeb TexteDeb = "" Else TexteRes = TexteRes + Left(TexteDeb, i - 1) + strRemp TexteDeb = Right(TexteDeb, Len(TexteDeb) - i - Len(strRech) + 1) End If Wend Replace = TexteRes
End Function
"yogui74" a écrit dans le message de news:
christophe a écrit le 27/01/2005 à 09h29 :
Bonjour,
Je cherche un fonction qui permet de remplacer dans une chaine de caracteres
un caractere par un autre.
ex : chaine = "aaaabbbababa" remplacer b par * chaine = "aaaa***a*a*a" Je n'ai rien trouvé de particulier dans l'aide. Merci d'avance
Public Function Replace(strTexte As Variant, strRech As String, strRemp As
String) as string
' StrText = texte dans lequel faire la recherche
' strRech = texte à chercher
' strRemp = texte de remplacement à mettre à la place de strRech
' Valeur de retour = chaine modifiée
Dim i As Long, TexteDeb As String, TexteRes As String
If IsNull(strTexte) Then Exit Function
TexteDeb = strTexte
TexteRes = ""
While TexteDeb <> ""
i = InStr(1, TexteDeb, strRech)
If i = 0 Then
TexteRes = TexteRes + TexteDeb
TexteDeb = ""
Else
TexteRes = TexteRes + Left(TexteDeb, i - 1) + strRemp
TexteDeb = Right(TexteDeb, Len(TexteDeb) - i - Len(strRech) + 1)
End If
Wend
Replace = TexteRes
End Function
"yogui74" <yogui74@domain-xyz.in> a écrit dans le message de
news:9fWdnUcUaYQQ_0LU4p2dnAA@giganews.com...
christophe a écrit le 27/01/2005 à 09h29 :
Bonjour,
Je cherche un fonction qui permet de remplacer dans une chaine de
caracteres
un caractere par un autre.
ex : chaine = "aaaabbbababa"
remplacer b par *
chaine = "aaaa***a*a*a"
Je n'ai rien trouvé de particulier dans l'aide.
Merci d'avance
Public Function Replace(strTexte As Variant, strRech As String, strRemp As String) as string ' StrText = texte dans lequel faire la recherche ' strRech = texte à chercher ' strRemp = texte de remplacement à mettre à la place de strRech ' Valeur de retour = chaine modifiée Dim i As Long, TexteDeb As String, TexteRes As String
If IsNull(strTexte) Then Exit Function TexteDeb = strTexte TexteRes = "" While TexteDeb <> "" i = InStr(1, TexteDeb, strRech) If i = 0 Then TexteRes = TexteRes + TexteDeb TexteDeb = "" Else TexteRes = TexteRes + Left(TexteDeb, i - 1) + strRemp TexteDeb = Right(TexteDeb, Len(TexteDeb) - i - Len(strRech) + 1) End If Wend Replace = TexteRes
End Function
"yogui74" a écrit dans le message de news:
christophe a écrit le 27/01/2005 à 09h29 :
Bonjour,
Je cherche un fonction qui permet de remplacer dans une chaine de caracteres
un caractere par un autre.
ex : chaine = "aaaabbbababa" remplacer b par * chaine = "aaaa***a*a*a" Je n'ai rien trouvé de particulier dans l'aide. Merci d'avance
A ce propos, l'article suivant de la KB propose une autre implémentation (et rappel les fonctions VB6/VBA correspondantes):
http://support.microsoft.com/kb/188007/en-us
Francois Picalausa
"Patrick JONIEC" wrote:
Voici la procedure que j'ai créé :
Public Function Replace(strTexte As Variant, strRech As String, strRemp A s String) as string ' StrText = texte dans lequel faire la recherche ' strRech = texte à chercher ' strRemp = texte de remplacement à mettre à la place de strRech ' Valeur de retour = chaine modifiée Dim i As Long, TexteDeb As String, TexteRes As String
If IsNull(strTexte) Then Exit Function TexteDeb = strTexte TexteRes = "" While TexteDeb <> "" i = InStr(1, TexteDeb, strRech) If i = 0 Then TexteRes = TexteRes + TexteDeb TexteDeb = "" Else TexteRes = TexteRes + Left(TexteDeb, i - 1) + s trRemp TexteDeb = Right(TexteDeb, Len(TexteDeb) - i - Len(strRech) + 1) End If Wend Replace = TexteRes
End Function
"yogui74" a écrit dans le message denews:9fWdnU
> christophe a écrit le 27/01/2005 à 09h29 : >> Bonjour,
>> Je cherche un fonction qui permet de remplacer dans une chaine de >> caracteres
>> un caractere par un autre.
>> ex : chaine = "aaaabbbababa" >> remplacer b par * >> chaine = "aaaa***a*a*a" >> Je n'ai rien trouvé de particulier dans l'aide. >> Merci d'avance > petit soft qui doit pouvoir aider :
Public Function Replace(strTexte As Variant, strRech As String, strRemp A s
String) as string
' StrText = texte dans lequel faire la recherche
' strRech = texte à chercher
' strRemp = texte de remplacement à mettre à la place de strRech
' Valeur de retour = chaine modifiée
Dim i As Long, TexteDeb As String, TexteRes As String
If IsNull(strTexte) Then Exit Function
TexteDeb = strTexte
TexteRes = ""
While TexteDeb <> ""
i = InStr(1, TexteDeb, strRech)
If i = 0 Then
TexteRes = TexteRes + TexteDeb
TexteDeb = ""
Else
TexteRes = TexteRes + Left(TexteDeb, i - 1) + s trRemp
TexteDeb = Right(TexteDeb, Len(TexteDeb) - i - Len(strRech) + 1)
End If
Wend
Replace = TexteRes
End Function
"yogui74" <yogu...@domain-xyz.in> a écrit dans le message denews:9fWdnU cUaYQQ_0LU4p2dnAA@giganews.com...
> christophe a écrit le 27/01/2005 à 09h29 :
>> Bonjour,
>> Je cherche un fonction qui permet de remplacer dans une chaine de
>> caracteres
>> un caractere par un autre.
>> ex : chaine = "aaaabbbababa"
>> remplacer b par *
>> chaine = "aaaa***a*a*a"
>> Je n'ai rien trouvé de particulier dans l'aide.
>> Merci d'avance
> petit soft qui doit pouvoir aider :
A ce propos, l'article suivant de la KB propose une autre implémentation (et rappel les fonctions VB6/VBA correspondantes):
http://support.microsoft.com/kb/188007/en-us
Francois Picalausa
"Patrick JONIEC" wrote:
Voici la procedure que j'ai créé :
Public Function Replace(strTexte As Variant, strRech As String, strRemp A s String) as string ' StrText = texte dans lequel faire la recherche ' strRech = texte à chercher ' strRemp = texte de remplacement à mettre à la place de strRech ' Valeur de retour = chaine modifiée Dim i As Long, TexteDeb As String, TexteRes As String
If IsNull(strTexte) Then Exit Function TexteDeb = strTexte TexteRes = "" While TexteDeb <> "" i = InStr(1, TexteDeb, strRech) If i = 0 Then TexteRes = TexteRes + TexteDeb TexteDeb = "" Else TexteRes = TexteRes + Left(TexteDeb, i - 1) + s trRemp TexteDeb = Right(TexteDeb, Len(TexteDeb) - i - Len(strRech) + 1) End If Wend Replace = TexteRes
End Function
"yogui74" a écrit dans le message denews:9fWdnU
> christophe a écrit le 27/01/2005 à 09h29 : >> Bonjour,
>> Je cherche un fonction qui permet de remplacer dans une chaine de >> caracteres
>> un caractere par un autre.
>> ex : chaine = "aaaabbbababa" >> remplacer b par * >> chaine = "aaaa***a*a*a" >> Je n'ai rien trouvé de particulier dans l'aide. >> Merci d'avance > petit soft qui doit pouvoir aider :