Remplacer ss utiliser la fonction replace

Résolu
cs_Miss1
Messages postés
221
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
22 décembre 2010
- 14 mai 2006 à 17:08
cs_Miss1
Messages postés
221
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
22 décembre 2010
- 14 mai 2006 à 19:47
salut j'avais déja poster un théme su ce sujet mais je n'aivais pas encore trouver de solution. Maintenant je sais comment remplacer(vb6)ur cela j'ai appris qu'il y avais la fonction replace le pb c que je ne sais pas l'utiliser. Donc je voudrais savoir si il y a un autre moyens. Je dois en réaliter renomer les certaines données.
pour cela je vais vous montrais un ex de ce que j'ai et de se que je veux:

ce que j'ai
5; A; toto;mimi;1569,0,2
5; B toto;mimi;1569,0;2
4;A;bernard;duranfd;14789;0;1

ce que je veux
5; A; toto;mimi;1569,0,2
5; B toto;mimi;1569,45;2
4;A;bernard;duranfd;14789;0;1

le pb c'est que a part avec un replace je ne sais pas comment faire
mais cela doit se faire de facon automatique pour ttout ligne se constitaunt de cette facon
5; A; toto;mimi;1569,0,2
5; B toto;mimi;1569,0;2
. merci de bien vouloire m'aider de nouveau.

5 réponses

cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
14 mai 2006 à 18:18
Re
Ma boule de cristal me suggère une anomalie dans la 2eme ligne : manquerait bien un ; après le B
Donc, je résume :
Si 2eme donnée sur la ligne est B, alors remplacer 0 par 45

Est-ce que tu as déjà séparé chaque élément de ta ligne ? (isolé 5 puis B puis le prénom ...) ?
Je suppose que oui, pour pouvoir t'en servir ensuite ...
Toujours des suppositions ... pas très bavard sur tes explications

Méthode simple :
A chaque ligne que tu vas traiter, il faut convertir ta ligne en ensemble de données :
Dim Tableau() As String
Tableau = Split(laLigneLue, ";")
Comme ça, tu trouveras "5" dans Tableau(0), "B" dans Tableau(1), ...

Revenons za nos moutons : "Si 2eme donnée sur la ligne est B, alors remplacer 0 par 45"
Facile maintenant : La 2eme donnée est l'index 1 (car tableau commence à 0), et le chiffre à modifier est dans 5If Tableau(1) "N" And Tableau(5) "0" Then Tableau(5) = "45"

Si tu te fiches d'avoir les éléments dans un tableau, tu peux recréer ta chaine initiale corrigée avec Join. Je te laisse le soin de trouver comment cette instruction fonctionne, faut bien que tu bosses un peu ...

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

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
14 mai 2006 à 17:23
Salut
Replace porte bien son nom. Il remplace tout
Donc, même si tu arrivais à maitriser cette monstrueuse instruction, il remplacerait aussi bine le 0 de la 1er eligne que celui de la 2eme ligne.
Ton problème est donc de reconnaitre la seconde ligne et de lui appliquer le mode Replace.
Quels sont tes paramètres de sélection ? Pourquoi cette ligne et pas une autre ?
Il faut que ton programme le sache, sinon, aucune magie n'est valable

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

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro
0
cs_Miss1
Messages postés
221
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
22 décembre 2010

14 mai 2006 à 17:43
pour la ligne 2 je me base en réaliter sur la lettre B cela signifie que la personne existe deux fois mais que le paramettre B a cahnger si c le cas le 0 devient dc 45. Pour pouvoir savoir si cela est exacte je fais un test qui demande si non prenon num sont identique si c non ""ok" ligne suivante si c oui je vérifie dc la lettre si c un B a la place du a je met 45 a la place de 0.

ps: pour mes tests j'ai fais cette facon if (instr nom1,nom2)............
0
cs_Miss1
Messages postés
221
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
22 décembre 2010

14 mai 2006 à 17:44
petit dérapage if instr (nom1,nom2)
0

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

Posez votre question
cs_Miss1
Messages postés
221
Date d'inscription
vendredi 21 octobre 2005
Statut
Membre
Dernière intervention
22 décembre 2010

14 mai 2006 à 19:47
j'avais déja spliter, merci pour ces explicatins
0