Transformer string en tableau ?

cs_Filou07 Messages postés 43 Date d'inscription mercredi 16 janvier 2002 Statut Membre Dernière intervention 29 février 2008 - 18 oct. 2004 à 14:12
cs_Filou07 Messages postés 43 Date d'inscription mercredi 16 janvier 2002 Statut Membre Dernière intervention 29 février 2008 - 18 oct. 2004 à 16:51
Salut,

Je voudrais transformer un string en tableau, par exemple
transformer
a="'toto','tata','4','tutu','123'"
en
a(0)="toto"
a(1)="tata"
......
a(4)="123"

J'ai recherché sur le site et je n'ai rien trouvé. J'ai créé une fonction (du genre changeStringToArray(a)), mais elle ne peut pas renvoyer de tableau où alors je suis vraiment mauvais :sad) .

Aidez-moi sivouplé !!!
Filou07

7 réponses

alexsimps2002 Messages postés 91 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 22 juillet 2006 4
18 oct. 2004 à 14:30
Salut,
Pour ma part, je n'ai jamais essayé de mettre un tableau comme résultat d'un fonction, mais je crois que c pas possible. Ce qui est possible par contre, c que tu fasses une procédure ChangeStringToTableau( byval Chaine as string ,Byval Separateur as string , by ref tableau[1 to 999] as string)

Ensuite, tu cherches les mots dans ta chaine et tu les ajoute de le tableau placé en parametre d'entrée-sortie.
Tiens je te passe une fonction qui permet de récupérer un mot entre des séparateurs.

Public Function ExtracChamp(ByVal ch As String, ByVal N As Integer, ByVal Sep As String) As String
Dim I As Integer
Dim pos1 As Integer
Dim chaine As String
Dim temp As String
Dim res As String

temp = ch
temp = temp & Sep

For I = 1 To N
pos1 = InStr(1, temp, Sep)
If pos1 <> 0 Then
chaine = Mid(temp, 1, pos1 - 1)
temp = Mid(temp, pos1 + 1, Len(temp) - Len(chaine) - 1)
Else
chaine = ""
End If
Next
res = chaine
ExtracChamp = res
End Function

En éspérant que ça puisses t'aider.
@+
Alexsimps
0
alexsimps2002 Messages postés 91 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 22 juillet 2006 4
18 oct. 2004 à 14:38
g oublié un exemple de ma fonction:

a=toto;tata;tutu;titi

b=extracChamp(a,2,";")

la, b est égal à 'tata'

b=extracChamp(a,'5',";")

la, b est égal à "" (Chaine vide)

Voila, c mieux.
@ +
Alexsimps
0
cs_lacomm Messages postés 298 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 5 juillet 2013 1
18 oct. 2004 à 14:48
Salut

dim b() as string
a= "toto", "tata", "titi"
b()=Split(a,",")

et donc
b(0)=toto
b(1)=tata
b(2)=titi

il me semble, enfin..
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
18 oct. 2004 à 14:50
Salut,

j ai quitter les simples guillemets
Dim a as string
Dim b() as string
a="toto,tata,4,tutu,123"
b = split(a, ",")
for i = 0 to Ubound(b)
msgbox b(i)
next


Ca devrait faire l affaire
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
0

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

Posez votre question
alexsimps2002 Messages postés 91 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 22 juillet 2006 4
18 oct. 2004 à 15:31
Alors là, bravo à vous jrivet et lacomm, c beaucoup plus simple que moi. Je ne connaissais pas la fonction split, c super. G me sui fait chier à faire une petite fonction pour rien surtout que split ca met direct dans un tableau, franchement je m'incline !!!!

Vouv pourriez pas m'aider aussi bien pour mes problémes avec excel !!!!

[i]Alexsimpsi]
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
18 oct. 2004 à 16:13
->alexsimps2002
C coi tes problemes Excel?
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
0
cs_Filou07 Messages postés 43 Date d'inscription mercredi 16 janvier 2002 Statut Membre Dernière intervention 29 février 2008 3
18 oct. 2004 à 16:51
Merci les gars, je ne m'attendais pas à autant de réponses ! 8-)
Filou07
0
Rejoignez-nous