VB6 Recherche d'élément dans un Tableau

cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - 16 août 2006 à 20:42
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 - 17 août 2006 à 10:15
Salut à tous....

J'utilise un tableau... et j'aimerais être capable d'aller chercher de l'information dans ce tableau... mais je n'y arrive pas...

Mon code pour ajouter de l'info dans le Tableau
If InStr(Point, ".") > 0 Then                       'Si Point Contient un "." Alors
    If LineCount = 0 Then                           
        ReDim Tableau(4, LineCount)                
    Else
        ReDim Preserve Tableau(4, LineCount)       
    End If


        Tableau(0, LineCount) Point                           'exemple de valeur possible  Point 5.1                   
    Tableau(1, LineCount) = Distance_Horizontale  ' 22.3622  
    Tableau(2, LineCount) = Angle                          ' 253.2233 
    Tableau(3, LineCount) = Etape3_X                   '-66.3624
    Tableau(4, LineCount) = Etape3_Y                   ' 22.3615
End If

Comment je fais pour aller chercher la ligne du tableau qui est égal à 5.1 et pouvoir par la suite utiliser les valeur qui se trouve dans la Colonne 3 (Etape3_X) et la Colonne 4 (Etape2_Y) ????????

P.S. je peux avoir plusieurs lignes dans ce tableau. Au début du programme le nombre de ligne est inconnu et se défini au fur et à mesure de la lecture d'un fichier text.

Merci d'avance....

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
16 août 2006 à 20:59
Salut Jeff
En effet, la recherche inversée sur un tableau n'est pas efficace puisqu'il faut que tu testes tous les éléments de ce tableau (For-Next)


Par contre, les Collections permettent d'accéder aux éléments soit par l'index, soit pas leur contenu.
Et les Collections peuvent absorber n'importe quoi : Une simple chaine ou chiffre, une donnée structurée (Type) et même des objets.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
16 août 2006 à 21:31
Salut,

je précise juste qu'il ne faut pas avoir de doublons pour utiliser les Collections (sinon, erreur), mais c'est effectivement la meilleure solution.

++
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
17 août 2006 à 00:48
Dans mes cours, on m'a toujours dit qu'il vallait mieux travailler avec
un tableau à 1 dimension. Que c'était plus rapide.... Comme les profs
en savaient plus que moi, j'ai accepté sans rien dire...


L'important, c'est de savoir à quel endroit d'une valeurX se trouve la valeur Y qu'on recherche.


ValeurX trouvée à Index 110, on veut la 2e qui suit

Valeur Y = tableau(Index + 2)

MPi
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 août 2006 à 10:15
Salut MPi,

il est vrai que les collections bouffent plus de ressources et sont légèrements plus longues à l'exécution mais s'avèrent utiles dans ce genre de cas.

@++

  --Mortalino--
Le mystérieux chevalier, "Provençal,
0
Rejoignez-nous