Parcourir une chaine

Résolu
mqsi Messages postés 111 Date d'inscription mardi 31 octobre 2006 Statut Membre Dernière intervention 28 avril 2010 - 15 nov. 2006 à 10:42
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 - 15 nov. 2006 à 18:42
slt,
 pouvez me dire comment faire pour parcourir ces nombres (1  2   3   ...   6   >> ) je pointe sur un puis je fait le test pas encore arrivé a   ">>" je passe au  suivant ainsi de suite.
et merci

14 réponses

drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
15 nov. 2006 à 17:46
J'ai pas testé mais c'est quelque chose dans ce style:



Dim
 Chaine As String 
Dim SplitChaine As String 
Dim i As Integer 
Chaine =  "1 2 3 4 5 6 >> 8 9 10" 
'Boucle prenant deux caractere de la chaine
'tout les deux caracteres
For i = 1 To  Len (Chaine) 
    
    SplitChaine() = Split(Chaine," ",-1,comparemethodetext)
    'SI on trouve >> alors on arrete

For i =  1 To  Len (SplitChaine())

    If SplitChaine(i)  = ">>" Then Exit For 

    MsgBox Chrs 

Next 







 Drikce 06
3
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
15 nov. 2006 à 17:53
Voici le code qui fonctionne:



Dim
Chaine

As



String






Dim
SplitChaine()

As



String






Dim
i

As



Integer






Dim
a

As



Integer

Chaine =




"1 2 3 4 5 6 >> 8 9 10"

SplitChaine = Split(Chaine,




" "
, -1, vbTextCompare)a = SplitChaine.Length


For
i = 0

To
a


If
SplitChaine(i) =

">>"



Then



Exit



For

MsgBox(SplitChaine(i))







Next




 Drikce 06
3
tof008 Messages postés 695 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 5 janvier 2010 33
15 nov. 2006 à 10:49
Salut!
voila qui pourra t aider je pense : http://www.vbfrance.com/recherche.aspx?r=parcourir+une+chaine&tr=forum
Tu y trouvera quelques exmples de len et des boucles qui pourront te debloquer...

Good luck!

         (Si la réponse vous convient, appuyez sur réponse acceptée...).

                           Noubliez pas de lire le REGLEMENT 
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
15 nov. 2006 à 11:18
Salut,
Il faut penser à bien expliquer.
Si ta question voulais dire: Parcourir une chaine de caractere jusqu a trouver la suite de caractere >> alors
essaie ceci

Dim Chaine As String 
Dim Chrs As String 
Dim i As Integer 
Chaine =  "1 2 3 4 5 6 >> 8 9 10" 
'Boucle prenant deux caractere de la chaine
'tout les deux caracteres
For i = 1 To  Len (Chaine) - 2 Step 2 
    'recupere les deux caracteres avec Mid
    Chrs  = Mid(Chaine, i, 2) 
    'SI on trouve >> alors on arrete
    If Chrs = ">>" Then Exit For 
    MsgBox Chrs 
Next 

@+: Ju£i?n
Pensez: Réponse acceptée
0

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

Posez votre question
mqsi Messages postés 111 Date d'inscription mardi 31 octobre 2006 Statut Membre Dernière intervention 28 avril 2010
15 nov. 2006 à 12:10
  merci jrivet ,exactement c'est ça que je cherche .
0
mqsi Messages postés 111 Date d'inscription mardi 31 octobre 2006 Statut Membre Dernière intervention 28 avril 2010
15 nov. 2006 à 12:45
j'ai un petit prob: la chaines contient les numéro des pages,supposons qu'on a les centaine des pages

Chaine = "1 2 3 4 5 6  8 9 10 .... 100 111 ..... >>" 

qu'es ce qu'on va faire ds ce cas .
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
15 nov. 2006 à 13:26
si tes chiffres (dans la chaine) sont séparés (espace ou autre) ou s'ils sont en série continue, c'est possible. Dans le cas contraire, non.
Il est préférable de montrer d'emblée l'allure de ta chaine, de façon claire, pour que l'on puisse cesser de jouer aux devinettes, message par message...
Merci.
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
15 nov. 2006 à 13:37
Re,
> [auteurdetail.aspx?ID= 896712 mqsi] : reagrde du coté de la fonction Split => peu etre pourra t'elle taider aussi
> [auteurdetail.aspx?ID=615490 jmfmarques] ca c'est pas faux....

@+: =89254 Ju£i?n
Pensez: Réponse acceptée
0
mqsi Messages postés 111 Date d'inscription mardi 31 octobre 2006 Statut Membre Dernière intervention 28 avril 2010
15 nov. 2006 à 16:12
voila ma chaine :
Chaine = "1  2  3  4  5  6  8  9 10 ... 100 >>"
entre les chifres ontrouve des espaces;
 le code jrivet traite les nombres si ne depasse pas 2 num,il ne traite pas 3 chiffres au plus.
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
15 nov. 2006 à 17:54
Re,
[auteurdetail.aspx?ID= 786090 Drikce06]

Ca ce voit que ta pas testé, (private joke)
Cela serait plus
(ATTENTION pour etre valable et logique il faut que les caracteres soit séparer par UN seul espace)
Dim Chaine As String 
Dim SplitChaine() As String 
Dim i As Integer 
Chaine = "1 2 3 4 5 6 >> 8 9 10" 
SplitChaine = Split(Chaine, " ") 
For i = 1 To  UBound (SplitChaine) 
    If SplitChaine(i)  = ">>" Then Exit For 
    MsgBox SplitChaine(i) 
Next 

@+: Ju£i?n
Pensez: Réponse acceptée
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
15 nov. 2006 à 17:59
 Oui mais j'ai remis le code qui fonctionnai avant na!na!na!  Mdr!

 Drikce 06
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
15 nov. 2006 à 17:59
[auteurdetail.aspx?ID=786090 Drikce06:]

IL est en VB6 EUH NANANANAN ERE HEU


@+: Ju£i?n


Pensez: Réponse acceptée
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
15 nov. 2006 à 18:06
        Snif! Snif! Ben c'est pas grave, je corrige et hop c'est la même chose! (je sers à rien)



Dim
Chaine

As



String








Dim
SplitChaine()

As



String






Dim
i

As



Integer

Chaine =




"1 2 3 4 5 6 >> 8 9 10"

SplitChaine = Split(Chaine,




" "
, -1, vbTextCompare)


For
i = 0

To
UBound(SplitChaine)


If
SplitChaine(i) =

">>"



Then



Exit



For

MsgBox(SplitChaine(i))







Next






 Drikce 06
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
15 nov. 2006 à 18:42
Bon, au lieu de faire des "nananana" et des "nanananarèèèèreee"

On relit ce qu'a écrit notre ami le demandeur ?

"voila ma chaine :
Chaine = "1  2  3  4  5  6  8  9 10 ... 100 >>"
entre les chifres on trouve des espaces;"

Des espaces ne sont pas un espace...

Alors : je vous laisse vous corriger vous-mêmes

à +
0
Rejoignez-nous