Extraction depuis une chaine de texte en partant d1 caractère spécial

oni0013 Messages postés 20 Date d'inscription mardi 29 octobre 2002 Statut Membre Dernière intervention 8 juillet 2003 - 7 juil. 2003 à 11:44
cs_Base Messages postés 70 Date d'inscription jeudi 23 janvier 2003 Statut Membre Dernière intervention 31 juillet 2003 - 8 juil. 2003 à 18:04
Salut,
Je dispose d'une textbox et je voudrai extraire de cette dernière tout le texte qui va depuis le signe ";" jusqu'à la fin du texte.
Je pense qu'il faut utiliser la commande right(). mais comment lui dire depuis quel caractère elle doit commancer l'extraction :question)
Merci d'avance

oNi0013
oni0013@hotmail.com
www.c-life.fr.st

4 réponses

cs_Base Messages postés 70 Date d'inscription jeudi 23 janvier 2003 Statut Membre Dernière intervention 31 juillet 2003
7 juil. 2003 à 11:49
Lut,

Pos = InStr(Text1.Text, ";")
If Pos > 0 then stExt = Mid(Text1.Text, Pos + 1)

Voilà...

B@se 8-)
0
oni0013 Messages postés 20 Date d'inscription mardi 29 octobre 2002 Statut Membre Dernière intervention 8 juillet 2003
7 juil. 2003 à 13:05
Merci pour cette réponse si rapide
@+

oNi0013
oni0013@hotmail.com
www.c-life.fr.st
0
oni0013 Messages postés 20 Date d'inscription mardi 29 octobre 2002 Statut Membre Dernière intervention 8 juillet 2003
7 juil. 2003 à 14:37
Salut,
J'ai juste un pti problème avec ton code, comment on fait lorsqu'il y a plusieurs entrées séparées par ";" :question)

oNi0013
oni0013@hotmail.com
www.c-life.fr.st
0
cs_Base Messages postés 70 Date d'inscription jeudi 23 janvier 2003 Statut Membre Dernière intervention 31 juillet 2003
8 juil. 2003 à 18:04
Ha,

Il y a plusieurs solutions... Avec VB6 il existe la commande Split qui dispatch une chaine dans un tableau en s'appuyant sur un séparateur :

Dim ArrS As Variant

ArrS = Split(Text1.Text, ";")
MsgBox ArrS(0)
MsgBox ArrS(1)
MsgBox ArrS(2)

'...Etc...


Ou tu peux faire une boucle en récupérant la dernière position que tu indique a la commande InStr. Une fois que la fin est atteinte, InStr retourne 0 :

Pos1 = 1
Do
Pos = InStr(Pos1, Text1.Text, ";")
If Pos > 0 Then Pos1 = Pos + 1
DoEvents   'Rend qq treads pour avoir la main au cas ou...
Loop Until Pos = 0


B@se 8-)
0
Rejoignez-nous