Chaine de caracteres : remplacer "chr" en "xchose"

Résolu
gmni Messages postés 91 Date d'inscription mercredi 6 novembre 2002 Statut Membre Dernière intervention 20 mars 2009 - 3 juil. 2005 à 17:52
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 3 juil. 2005 à 19:46
Salut,

Ya t'il une solution pour ce problème :

J'ai une chaine de caracteres, j'arrive a changer

la valeure "1" en "2" mais pas "1" en "xchose" :

'''''''''''''''''''''''''''''''''

Private Sub Command1_Click()

'

Text1.text = "1x1x1x1x1x1x1x1x1x1x"

'

On Error Resume Next

Dim a As String

a = Text1.Text

For i = 0 To Len(a)

n1 = (InStr(a, "1"))

If n1 i Then a Left(a, n1 - 1) & "2" & Right(a, Len(a) - n1) 'ici avec "xxxx" a la place de "2" ca ne marche pas...

Next i

'

Text1.Text = a

End Sub

'''''''''''''''''''''''''''''''''

Ce code fonctionne qu'avec une decimale, j'ai essayé

de changer beaucoup de valeurs (Len, +1, -1, ect.)

mais sans succés...

Quelqu'un aurait'il une idée ?

Merci
-----------------

8 réponses

Utilisateur anonyme
3 juil. 2005 à 18:08
Esseye plutôt ça :





Dim Str as String

Dim NewStr as String
Const TxtRemplace as String = "xchose"



Str = "1x1x1x1x1x1x1x1x1x1x"

NewStr = ""

Dim i as Integer

For i = 1 to Len(Str) - 1

If Mid(Str,i,1) = "1" Then

NewStr = NewStr & TxtRemplace

Else

NewStr = NewStr & Mid(Str,i,1)

End If


Next i

Str = NewStr







ChRb
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
3 juil. 2005 à 18:06
Salut
Simplifie toi la vie : Utilise Replace : n1 = Replace(a, "1", "9")

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
3 juil. 2005 à 18:07
Salut,

As-tu essayé la fonction replace ?

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
3 juil. 2005 à 18:24
M'enfin Charles, à quoi bon utiliser une boucle
lorsqu'on peut utiliser la fonction "Replace" !!!!!!! (bon, ceci dit
c'est vrai que c'est une alternative qui fonctionne aussi et qui est
meilleurs que la tienne!!!)



Non non, tu as juste besoin d'écrire ceci :




Private Sub Command1_Click()


On Error Resume Next

Text1.Text = Replace(
Text1.Text, "1", "2")


End Sub




Mais au fait, en quel langage programmes-tu ??? Il faut toujours le dire!!!


Enjoy



<hr size="2" width="100%">

(Si une réponse vous convient, cliquez sur le bouton "Réponse accéptée")
0

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

Posez votre question
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
3 juil. 2005 à 18:38
ScSami >> pourquoi un On Error Resume Next ?

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
3 juil. 2005 à 18:47
Pour respecter son code d'origine


Mais c'est clair que ça n'a aucun intéret s'il n'y a pas d'autres instructions après!!!

Donc, dans ce cas tu peux l'enlever Gmni!
0
gmni Messages postés 91 Date d'inscription mercredi 6 novembre 2002 Statut Membre Dernière intervention 20 mars 2009
3 juil. 2005 à 18:57
En fait "replace" c'est bien mais pour un carractère seulement.

Par ex. si je replace "&" en "-&-" je ne pourai plus utiliser "&"

pour d'autres carracteres.

Replace "remplace" mais remplace tout ! alors qu'une boucle

s'occupe de chaque carractere en un temps "t".



Merci ChRb d'avoir compris mon inttention et surtout pour ton exellent code (j'ai enlevé -1 dans "For..").



ScSami il me semble que mon code indique sa nature...


Sinon merci à tous pour vos réponses éclaires !

Bonne prog;

Gmni
------
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
3 juil. 2005 à 19:46
Le code de ChRb est bon (sauf le -1) mais il fait exactement la même chose que la fonction replace. Essaie, tu verras.
D'autre part, replace n'est pas seulement "bien pour un caractère seulement", tu peux remplacer 1 car par une chaine et inversement.
Mais bon, c'est ton choix et n'oublie pas de valider la réponse de ChRb en cliquant sur "réponse acceptée".

@+

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
Rejoignez-nous