FONCTION SPLIT

Clonk Messages postés 278 Date d'inscription mardi 22 janvier 2002 Statut Membre Dernière intervention 29 août 2006 - 28 févr. 2002 à 09:55
Bastou26 Messages postés 4 Date d'inscription mardi 12 avril 2005 Statut Membre Dernière intervention 4 juillet 2006 - 10 nov. 2006 à 03:46
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/2706-fonction-split

Bastou26 Messages postés 4 Date d'inscription mardi 12 avril 2005 Statut Membre Dernière intervention 4 juillet 2006
10 nov. 2006 à 03:46
Julbute, Pourquoi tu ne mets pas toutes tes lignes dans une seule variable (Tu peux faire un Replace(Variable,(chr(10),"") et Replace (Variable,chr(13),"") pour enlever les sauts de ligne. Ça te donnerais :
1153748,13/04/2006 03:02:35,1,SpaceManager,1153747,12/04/2006 22:06:25,1,RS_Global.asp,1153746,12/04/2006 22:06:08,1,RS_Global.asp, (sur une seule ligne)

Et tu pourrais faire ton split après.... Tu pourrais mettre aussi un if Morceau <> "" then pour t'assurer que ton dernier bloc ne soit pas un bloc vide....
Bastou26 Messages postés 4 Date d'inscription mardi 12 avril 2005 Statut Membre Dernière intervention 4 juillet 2006
10 nov. 2006 à 03:39
Bonjour, Voici une façon encore plus simple:

1. Dim st, St1
2. st = "17;18;19;20"
3. For Each St1 In Split(st, ";")
4. MsgBox St1
5. Next
cs_julbute Messages postés 8 Date d'inscription mardi 4 avril 2006 Statut Membre Dernière intervention 13 avril 2006
13 avril 2006 à 09:50
Bon ok dans ton exemple ça marche mais serais tu comment proceder si on devait effectuer un split sur plusieurs lignes et qu'il y a également un séparateur à la fin de chaque lignes.
exemple:

1153748,13/04/2006 03:02:35,1,SpaceManager,
1153747,12/04/2006 22:06:25,1,RS_Global.asp,
1153746,12/04/2006 22:06:08,1,RS_Global.asp,
Nmiss Messages postés 1 Date d'inscription mardi 8 février 2005 Statut Membre Dernière intervention 16 mars 2005
16 mars 2005 à 18:01
Ça fonctionne mais moi, je l'essaie dans mon application et il m'affiche mes données plusieurs fois. Comment y remédier??
Voici mon code:

Dim strChaine() As String
Dim i As Integer

strChaine = Split(MonChamp, "|")

For i = 0 To UBound(strChaine)
txtTest = txtTest & strChaine(i) & vbNewLine
Next i
soldier8514 Messages postés 295 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 24 janvier 2014 1
27 mai 2003 à 16:49
un petit 9/10 pour votre ingéniosité ( comparé à bon nombre qui ont crées des fonctions un peu trop lourde pour faire ce que vous faites le mieux en 7 lignes ;)
couriousous Messages postés 68 Date d'inscription lundi 21 mai 2001 Statut Membre Dernière intervention 4 janvier 2003
1 mars 2002 à 20:17
et bien vu!!! bonne astuce!!
Clonk Messages postés 278 Date d'inscription mardi 22 janvier 2002 Statut Membre Dernière intervention 29 août 2006
28 févr. 2002 à 09:55
La fonction marche bien comme ça.
Bon tutoriel, même qi les explications manquent dans le code pour ceux qui ne la conaissent pas du tout.
Rejoignez-nous