Remplacement d'un caractere dans une chaine

king_kunu Messages postés 52 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 4 juin 2004 - 13 avril 2004 à 10:30
cs_midos Messages postés 3 Date d'inscription jeudi 10 avril 2003 Statut Membre Dernière intervention 10 mars 2006 - 5 janv. 2006 à 17:06
Bonjour a tous

je débute sous vba et j'aimerai traiter une chaine de caractere
je voudrais remplacer un caractere (dans mon cas la virgule) par le "é" au sein de la chaine. Par exemple:

ma_chainde = "t,l,phone"
ma_chaine_transformée = "téléphone"
ai essayé avec la fonction mid dans le code suivant mais cela ne fonctionne pas !

Sub nettoyage()
Dim Ligne As Integer
Dim nbligne As Integer

''compte le nombre de ligne
nbligne = ActiveSheet.UsedRange.Rows.Count
nbligne = nbligne + ActiveSheet.UsedRange.Row - 1

For Ligne = nbligne To 1 Step -1 ''test pour epurer les lignes indésirables

cellule = Cells(Ligne, 1)

if cellule = "t,l,phone" then
Mid(cellule, 1) = "téléphone"
end if

next ligne

end sub

voila donc si vous pouvez me depanner je vous en remercie

5 réponses

cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
13 avril 2004 à 10:36
labout
C'est la fonction
Replace(Chaine,carac recherché,carac remplacement)
@+
0
king_kunu Messages postés 52 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 4 juin 2004
13 avril 2004 à 10:48
merci poiur ta réponse
mais j'ai remplace la fonction mid par celle que tu m'as conseillé mais cela ne fonctionne pas...
je vais continuer de fouiner

merci pour ta réponse
@++
0
cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
13 avril 2004 à 10:56
labout
Cela m'étonne beaucoup
replace(""t,l,phone",","é")
donne bien téléphone.

Dans le cas ou c'est à la lecture d'un fichier texte c'est un peu différent

Dim code As System.Text.Encoding
Dim myStreamReader As StreamReader = New StreamReader(FileName, _
code, False, 512)
texte = myStreamReader.ReadToEnd()

Les autres possibilités de system.encoding

Select Case type
Case 0
code = System.Text.Encoding.UTF8
Case 1
code = System.Text.Encoding.Default
Case 2
code = System.Text.Encoding.ASCII
Case 3
code = System.Text.Encoding.GetEncoding(850)
End Select
0
king_kunu Messages postés 52 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 4 juin 2004
13 avril 2004 à 11:11
c vrai que le caractere a remplacer n'est pas un virgule mais une sorte de virgule toute droite...
donc je ne sais pas trop comment faire
je peut déclarer une variable contenant ce caractere mais avec son code ASCI ??? et faire le remplacement avec cette variable
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_midos Messages postés 3 Date d'inscription jeudi 10 avril 2003 Statut Membre Dernière intervention 10 mars 2006
5 janv. 2006 à 17:06
merci c tres utile cette commande
:-)

MiDo§
0
Rejoignez-nous