VB :$'

Résolu
regisd01 Messages postés 51 Date d'inscription samedi 3 mai 2003 Statut Membre Dernière intervention 3 octobre 2006 - 2 sept. 2004 à 10:47
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 - 2 sept. 2004 à 19:20
Bonjour,

Je débute en vb, et je ne connais pas les fonctions principales...
Je voudrais savoir, comment je pourrais sélectionner la partie d'une phrase...
Un genre de $gettok en Mirc si ont veux

J'explike j'ai une phrase ki arrive sous la forme :

partie1&partie2&partie3

Je voudrais sélectionner la partie1, partie2, partie3 séparément

Voila
Merci d'avance

Sage2603

13 réponses

MaxSoldier Messages postés 289 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 28 février 2009 2
2 sept. 2004 à 11:51
Et bien si tu as des séparateur genre :
Partie1;Partie2; ...
Il te suffit de faire :

' Initialisation au premier caractère
iPos = 1

' Boucle de Récupération des caractères
While Mid$(Text1.Text, iPos, 1) <> ";"
Partie1 = Partie1 & Mid$(Text1.Text, iPos, 1)
iPos = iPos + 1
Wend

' Saut du Séparateur
iPos = iPos + 1

' Boucle de Récupération des caractères
While Mid$(Text1.Text, iPos, 1) <> ";"
Partie2 = Partie2 & Mid$(Text1.Text, iPos, 1)
iPos = iPos + 1
Wend


-=Ar$£nik=-
3
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
2 sept. 2004 à 12:44
Sinon :

Pos1 = InStr(1, Text1, "&") ' Determination du Premier &
Pos2 = InStr(Pos1 + 1, Text1, "&") ' Determination du Second &

MsgBox Mid(Text1, 1, Pos1 - 1) & vbCrLf & Mid(Text1, Pos1 + 1, (Pos2 - Pos1) - 1) & vbCrLf & Mid(Text1, Pos2 + 1, Len(Text1) - Pos2)

It@li@
3
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 25
2 sept. 2004 à 13:46
ou bien encore :

Dim tablo() As String

tablo=Split(chaine,"&",,vbTextCompare)


tu auras alors :

tablo(1) = Partie1
tablo(2) = Partie2
...
tablo(n) = Partien

Note : Le nombre de parties 'n' s'obtient en faisant UBound(tablo)

Manu
3
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
2 sept. 2004 à 14:48
Comme le dit si bien econ (attention le tableau doit etre du type variant ) :

Dim Tbl As Variant
Tbl = Split("partie1&partie2&partie3","&")

debug.print Ubound(Tbl) 'Nombre d'item
debug.print Tbl(0) 'Item 1
debug.print Tbl(1) 'Item 2


@+

E.B.
3

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

Posez votre question
regisd01 Messages postés 51 Date d'inscription samedi 3 mai 2003 Statut Membre Dernière intervention 3 octobre 2006
2 sept. 2004 à 14:08
Bien je vous remercie pour ces 3 exemples :p
Il me seront surment d'une grabde utilité ;)

@+ et Merci

Sage2603
0
regisd01 Messages postés 51 Date d'inscription samedi 3 mai 2003 Statut Membre Dernière intervention 3 octobre 2006
2 sept. 2004 à 14:08
Bien je vous remercie pour ces 3 exemples :p
Il me seront surment d'une grabde utilité ;)

@+ et Merci

Sage2603
0
regisd01 Messages postés 51 Date d'inscription samedi 3 mai 2003 Statut Membre Dernière intervention 3 octobre 2006
2 sept. 2004 à 14:09
oops ca s'est mis deux fois :o
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
2 sept. 2004 à 14:28
n'oublies pas de cocher reponses Acceptées

It@li@
0
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
2 sept. 2004 à 14:50
econs> désolé je rectifis c'est "econs" avec un "S" ;)

...Politesse oblige...

@+

E.B.
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
2 sept. 2004 à 15:23
Bonjour
Quelques bizarreries :

econs >
Dim tablo() As String
tablo= Split(chaine,"&",,vbTextCompare)

tu auras alors :
N'oublie pas tablo(0) = Partie 0
tablo(1) = Partie 1
tablo(2) = Partie 2
...
tablo(n) = Partie n
Note : Le nombre de parties 'n' s'obtient en faisant UBound(tablo)
Le nombre de parties est n + 1

EBArtSoft >

Dim Tbl sans parenthèses As Variant
Tbl = Split("partie1&partie2&partie3","&")

debug.print Ubound(Tbl) 'Nombre d'item
debug.print Tbl(0) 'Item 1
debug.print Tbl(1) 'Item 2
0
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
2 sept. 2004 à 18:58
rene38>

Je ne vois aucune bizzarerie dans ce que j'ai ecris ?

( 1 ) le type variant peut contenir un tableau donc pas de ()
sinon c'est un tableau de vari...

Non !! en fait j'ai pas besoin de justifier. Met le code dans une forme et lance l'application tu vera par toi même.
;)

@+

E.B.
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
2 sept. 2004 à 19:12
EBArtSoft> En effet, pas de bizarrerie - mea culpa !
MAIS :
"debug.print Ubound(Tbl) 'Nombre d'item"
NON : le nombre d'item est Ubound(Tbl) + 1
0
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
2 sept. 2004 à 19:20
lol oui c'est vrais...

n'a trouvé quand même ;)

@+

E.B.
0
Rejoignez-nous