fenlabize
Messages postés7Date d'inscriptionjeudi 17 mars 2005StatutMembreDernière intervention14 février 2006
-
14 févr. 2006 à 20:05
fenlabize
Messages postés7Date d'inscriptionjeudi 17 mars 2005StatutMembreDernière intervention14 février 2006
-
14 févr. 2006 à 21:02
bonjour a tous,
j'ai une variable qui contient une liste de nombre qui correspond à des objets(barre métallique pour info), qui se nomme : nomselection as variant
nomselection="1a4 101a104"
je voudrais faire un test sur chaque numero (1 2 3 4 101 102 103 104) dans la liste donc faire une boucle sur cette liste mais je ne sais pas comment faire.
Sachant que si je teste un numero qui n'existe pas,le numero 5 par exemple, qui ne fait reference à rien dans mon programme, ca plante.
merci pour votre aide
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201578 14 févr. 2006 à 20:33
Salut
Ton choix de stocker une liste genre "1a4" pour ficgurer les chiffres 1,2,3,4 ne va pas simplifier les choses.
Il va falloir :
- Détecter les groupes de chiffres --> Séparateur "espace" pour isoler "1a4" et "101a104"
Un Split suffira
Dim Tableau() As String
Tableau = Split(nomSelection, " ")
Tu auras "1a4" dans Tableau(0) et "101a104" dans Tableau(1)
Au passage, n'utilise pas de Variant, c'est lourd et ça ralenti VB. Utilise String puisque ta variable peut contenir chiffres et lettres (de plus, Split ne fonctionne que sur les String)
- Pour chacun des groupes, isoler le début et la fin en repèrant le "a"
Encore un Split :
Dim Variable() As String
Variable = Split(Tableau(0), "a")
Tu auras "1" dans Variable(0) et "4" dans Variable(1)
- Chercher dans tes objets :
Il suffit de faire une boucle
Début = Val(Variable(0))
Fin = Val(Variable(1))
For r = Début To Fin
... recherche
Next r
N'ayant pas plus d'info sur le "où chercher", je ne peux pas aller plus loin ...
Vala
Jack, MVP VB
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)