Découper une chaine à gauche d'un caractere

Résolu
cs_trotter Messages postés 16 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 24 mars 2009 - 20 févr. 2005 à 17:22
cs_trotter Messages postés 16 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 24 mars 2009 - 20 févr. 2005 à 19:23
Bonjour,
J'ai cette chaine de caractere, par exemple :
blabla*blublu*blibli

J'aimerais savoir s'il existe une fonction permettant de découper la chaine à gauche apres le premier *, pour ne conserver que "blabla*blibli".

J'ai essayé Split("blabla*blublu*blibli", "*")(1), mais ca me renvoit "blublu", vu qu'il a aussi supprimé la deuxieme étoile.

Je ne peux pas utiliser Left$(), vu qu'il faut indiquer la longueur à partir d'où on veut couper et que celle ci peut etre variable.

Pour compliquer la tache, le nombre d'étoile aussi est variable.
Existe t il une commande comme Left$() qui permettrait de découper à partir d'un caractere ?
Merci !

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
20 févr. 2005 à 17:39
Salut
Split utilise * pour séparer les données, c'est donc normal qu'il les enlève.
Un tableau commence (sauf option) à 0
Pour connaitre la position d'un caractère dans une chaine, regarde l'aide de l'instruction Instr
Jumelé à Left, Right ou Mid, tu feras ce que tu veux.

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

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
3
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
20 févr. 2005 à 18:16
Voila un petit code qui pourra peut-être t'aider , en attendant de trouver mieux
Private Sub Command1_Click()
StrA = "blabla*blublu*blibli"
partSt1 = Right(StrA, Text1)
Label1 = partSt1
End Sub

Suivant le chiffre que tu place dans le textbox, la chaîne est découpée et son résultat affiché dans le Label1. Par Exp: 13 te donne blubli*blibli.

jpleroisse
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
20 févr. 2005 à 19:14
Private Sub Command1_Click()
Dim strA As String
strA = "blabla*blublu*blibli"
MsgBox Decoupe(strA)
End Sub


Private Function Decoupe$(str As String)
Decoupe = Mid$(str, InStr(str, "*") + 1)
End Function

Daniel
0
cs_trotter Messages postés 16 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 24 mars 2009
20 févr. 2005 à 19:23
Merci à tous, c'est vraiment sympa : )
0
Rejoignez-nous