dailyvb
Messages postés3Date d'inscriptionsamedi 14 juin 2008StatutMembreDernière intervention20 juin 2008
-
15 juin 2008 à 00:14
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 2016
-
21 juin 2008 à 07:30
Comment decouper une chaine de caractères en fonction dune suite numérique .
exemple ma chaine " gfhdmkg/*rfz"
la suite = 23421
alors je cherche comme resultat = gf hdm kg/* rf z
dailyvb
Messages postés3Date d'inscriptionsamedi 14 juin 2008StatutMembreDernière intervention20 juin 2008 20 juin 2008 à 20:28
bonjour
jai un grand probleme le code me don des resulta faus si je remplace le mot par text 1
Private Sub Command3_Click()
mot = Text1
decoup = Text2
For i = 1 To Len(decoup)
lg = lg + Val(Mid(decoup, i, 1))
mot = Left(mot, lg + i - 1) & " " & Right(mot, Len(mot) - lg - i + 1)
Next
Debug.Print mot
Text3 = mot
End Sub
et
Private Sub Command1_Click()
Dim Valeur As Variant
Dim nomFichier As String
Dim numFic As Integer
numFic = FreeFile
nomFichier = "c:/mathmot.txt"
Open nomFichier For Input Shared As #numFic
Do While Not EOF(numFic)
Input #numFic, Valeur
Text1.Text = Text1.Text & vbCrLf & Valeur
Loop
Close #numFic
End Sub
Private Sub Command2_Click()
Dim Valeur As Variant
Dim nomFichier As String
Dim numFic As Integer
numFic = FreeFile
nomFichier = "c:/decoup.txt"
Open nomFichier For Input Shared As #numFic
Do While Not EOF(numFic)
Input #numFic, Valeur
Text2.Text = Text2.Text & vbCrLf & Valeur
Loop
Close #numFic
End Sub
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 15 juin 2008 à 00:24
Sers-toi de mid sur ta chaine suite pour déterminer chacun de sesq caractères, un par un
Pour chaque caractère (donc un nombre) , tu te sers encore de left pour extraire de ta chaine ce nombre de caractères à gauche et tu les supprimes de ta chaine, et ainsi de suite ...
Au boulot (c'est un exercice, je le sens...)
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 15 juin 2008 à 21:34
Bonsoir,
Sub es()
'"gfhdmkg/*rfz"
'23421
mot = "gfhdmkg/*rfz"
decoup = "23421"
depart = 1
For t = 1 To Len(decoup)
lg = Val(Mid(decoup, t, 1)) ' extraction du chiffre converti en nb
extraction = Mid(mot, depart, lg) 'extraction
depart = depart + lg 'futur position du pointeur
chaine = chaine & " " & extraction 'memorisation de la chaine
Next t
Debug.Print chaine
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 15 juin 2008 à 22:36
ou encore (ce que j'ai dit plus haut) :
mot = "gfhdmkg/*rfz"
decoup = "23421"
nouv = ""
For i = 1 To Len(decoup)
lg = Val(Mid(decoup, i, 1))
nouv = nouv & " " & Left(mot, lg)
mot = Mid(mot, lg + 1)
Next
MsgBox Trim(nouv)
Vous n’avez pas trouvé la réponse que vous recherchez ?
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 15 juin 2008 à 23:09
Hum...
ou encore qu'en 2 lignes dans la boucle :
mot = "gfhdmkg/*rfz"
decoup = "23421"
For i = 1 To Len(decoup)
lg = lg + Val(Mid(decoup, i, 1))
mot = Left(mot, lg + i - 1) & " " & Right(mot, Len(mot) - lg - i + 1)
Next