Parcourir une chaine [Résolu]

Signaler
Messages postés
111
Date d'inscription
mardi 31 octobre 2006
Statut
Membre
Dernière intervention
28 avril 2010
-
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
-
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

Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
9
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
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
9
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
Messages postés
695
Date d'inscription
jeudi 5 mai 2005
Statut
Membre
Dernière intervention
5 janvier 2010
25
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 
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
48
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
Messages postés
111
Date d'inscription
mardi 31 octobre 2006
Statut
Membre
Dernière intervention
28 avril 2010

  merci jrivet ,exactement c'est ça que je cherche .
Messages postés
111
Date d'inscription
mardi 31 octobre 2006
Statut
Membre
Dernière intervention
28 avril 2010

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 .
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
23
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.
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
48
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
Messages postés
111
Date d'inscription
mardi 31 octobre 2006
Statut
Membre
Dernière intervention
28 avril 2010

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.
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
48
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
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
9
 Oui mais j'ai remis le code qui fonctionnai avant na!na!na!  Mdr!

 Drikce 06
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
48
[auteurdetail.aspx?ID=786090 Drikce06:]

IL est en VB6 EUH NANANANAN ERE HEU


@+: Ju£i?n


Pensez: Réponse acceptée
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
9
        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
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
23
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

à +