Séparer une chaines de caractére

ulysse00 Messages postés 291 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 12 mai 2013 - 17 févr. 2007 à 19:00
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 - 18 févr. 2007 à 07:36
bonsoir mes amis je cherche une méthode qui peut m'aider a séparer une chaine de caractére en deux chaines de caractéres
par exemple String X="124566"; 
String A,B;
 avec un séparateur 2 alors j'aurais  A=12;B=4566;
merci de bien vouloir m'aider

7 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
17 févr. 2007 à 19:02
voir du coté des fonctions Left$, Mid$, Right$, éventuellement aussi Split.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
17 févr. 2007 à 19:07
Salut,

je te propose un bout de code, t'as qu'à modifier 2 suivant tes besoiins, mais ce code n'est pas optimiser, c'est pour des choses simples comme ton code.

Private Sub exemple()
    Dim X As String
    Dim Result(2) As String
 
X = "124566"
Result(0) = Mid(X, 1, InStr(1, X, "2"))
Result(1) = Mid(X, InStr(1, X, "2") + 1, Len(X) - InStr(1, X, "2"))

MsgBox Result(0)
MsgBox Result(1)
Erase Result
End Sub


~ <small>[code.aspx?ID=39466 Mortalino] ~
Colorisation automatique</small>

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
ulysse00 Messages postés 291 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 12 mai 2013 1
17 févr. 2007 à 19:18
merci ami mais ça veux dire quoi 
 Dim X As String
    Dim Result(2) As String
 Result(0) = Mid(X, 1, InStr(1, X, "2"))
Result(1) = Mid(X, InStr(1, X, "2") + 1, Len(X) - InStr(1, X, "2"))

MsgBox Result(0)
MsgBox Result(1)
Erase Result
End Sub
 car je n'ai rien compris
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
17 févr. 2007 à 19:20
Bé ....
On se sait ni si sa chaîne est fixe, ni si elle a toujours la même longueur, ni s'il la découpe doujours avec 2 d'un coté et 4 de l'autre, ni si ce sont toujours des numériques !
Et celà peut changer tant de choses !

Tiens, par exemple, s'il s'agit toujours d'une chaine de 6 numériques avec 2 à donner à A et à B :

Private Sub Command1_Click()
  x = "124566"
  A = Val(x) \ 10000
  B = Val(x) Mod 10000
  MsgBox A & "  " & B


End Sub
0

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

Posez votre question
ulysse00 Messages postés 291 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 12 mai 2013 1
17 févr. 2007 à 19:25
mais est ce que je peut faire une boucle for a chauqe fois pour séparer la chaine de caractére for i de 1 à 3 par exemple
alors la premiere étiration j'aurais 1 et 24566  2 ieme 12 et 4566 et 3ieme 124 et 566

 
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
17 févr. 2007 à 20:15
Tu fais une boucle sur mon dernier code, en divisant par 100000 la 1ère fois, 10000 la 2ème, 1000 la 3ème, 100 la 4ème et 10 la 5ème, pardi !
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
18 févr. 2007 à 07:36
Private Sub Command1_Click()
   x = "124567890"
   For i = Len(x) - 1 To 1 Step -1
     A = Val(x) \ 10 ^ i
     B = Val(x) Mod 10 ^ i
     msg = msg & A & "  " & B & vbCrLf
   Next
   MsgBox msg
End Sub
0
Rejoignez-nous