Tableau

Résolu
Clad49 Messages postés 265 Date d'inscription dimanche 3 août 2003 Statut Membre Dernière intervention 29 mars 2010 - 6 juin 2006 à 01:23
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 6 juin 2006 à 13:47
Bonjour !
voilà j'ai déclarer un tableau comme ceci :

Public contact(9999, 5) As String

J'aimerai connaitre le nombre de ligne sachant que sur les 9999 je ne les utilises pas toutes!
Comment faire ?

nb : oui c'est con mais on ne peut redimentionner ce genre de tableau alors pour étre tranquil j'ai mis 9999 mais lors d'une recherche si je n'ai que 10 enregistrement c plus rapide de chercher sur 10 que sur 9999

Clad

4 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
6 juin 2006 à 01:56
salut Clad,
je répondrai dans le prochain post si tu insistes vraiment !!!

effectivement, on ne peut pas redimentionner un tableau multi sans en perdre le contenu.

le mieux pour ton cas serait un tableau de type.
un peu plus long (et chiant parfois) à utiliser, mais beaucoup plus clair et redimentionnable

public type MonType
    tNom as string
    tPrenom as string  
    tCodePostal as long
    tDonnee4 as string
    tDonnee5 as string
    '....
end type

public contact() as MonType

et tu n'auras plus qu'à redimentionner comme bon te semble (redim preserve) sans perte ;)

@+
PCPT  [AFCK]
3
Clad49 Messages postés 265 Date d'inscription dimanche 3 août 2003 Statut Membre Dernière intervention 29 mars 2010
6 juin 2006 à 02:01
Salut PCPT

je testerai avec ce genre de tableau et si sela me semble bon (surtout que j'arive à l'utiliser) je ne t'embéterai pas avec ma premiére question

a bientot

Clad
0
Clad49 Messages postés 265 Date d'inscription dimanche 3 août 2003 Statut Membre Dernière intervention 29 mars 2010
6 juin 2006 à 13:20
Bonjour !

C'est bon j'adopte :)




Alors pour ceux qui serai curieux et qui souhaiterai savoir comment marche ce genre de tableau voici un exemple :

Alors dans un module placer :

Public Type format ' dans le tableau il y a une colonne tNom et tPrénom
    tNom As String
    tPrenom As String
End Type

Public contact() As format 'on déclare le tableau
-------------------------------------------------------------------------


Puis dans une form :

ReDim Preserve contact(2) ' on redimensionne le tableau a 2 ligne tout en préservant les donnée déjà présente a l’intérieur
contact(0).tNom = "Dupond" ' on insert les valeurs comme dans un tableau classique (enfin presque)
contact(0).tPrenom = "Charles"
contact(1).tNom = "Duran"
contact(1).tPrenom = "Sophie"
....

Puis si on veut récupérer les infos il suffit de taper par exemple :
Text1.Text contact(1).tPrenom 'il retourne Sophie<?xml:namespace prefix o ns = "urn:schemas-microsoft-com:office:office" /?>



 




UBound(contact) retourne le nombre d’enregistrement (le nb de ligne)




 





Voilà, je ne sais pas si c’est bien expliqué mais je me comprends ;)

Merci a toi PCPT, j'en apprend un peut plus chaques jours :)


Clad
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
6 juin 2006 à 13:47
je te rectifie à peine :

Public Type format, met plutôt tFormat (t pour Type). non pas que çà soit beaucoup mieux mais formatétant un nom de  fonction, mieux vaut éviter...

ReDim Preserve contact(2) ' on redimensionne le tableau a 2 ligne tout en préservant les donnée déjà présente a l’intérieur

non, le Ubound = 2, on redimentionne donc à 3 lignes

voilà, content que cette solution de convienne.
@+
PCPT  [AFCK]
0
Rejoignez-nous