Convertire nombre en clé de collection

Résolu
Messages postés
5
Date d'inscription
jeudi 11 novembre 2004
Statut
Membre
Dernière intervention
21 septembre 2006
-
Messages postés
5
Date d'inscription
jeudi 11 novembre 2004
Statut
Membre
Dernière intervention
21 septembre 2006
-
Bonjour, je voudrai pouvoir ajouter des items dans une collection a partir d'un boucle for:
for x = 1 to 50
 ---
next x

et je voudrais savoir s'il est possible de convertir le nombre x en lettre de fassons a obtenir:
pour x = 1: firstkey
x=2: secondkey
etc

merci d'avance

8 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Normal, les tableaux ne peuvent pas être déclarés en public au niveau d'une feuille. Il te faudras le déclarer dans un module.
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Il te faut un tableau des index à mettre dans ta collection :
Dim sIndexes(50) as string

sIndexes(1) = "firstkey"
sIndexes(2) = "secondkey"
etc.

et ensuite, pour l'ajout :

for x  = 1 to 50

    taCollection.add(TonObjet, sIndexes(x))

next x
Messages postés
5
Date d'inscription
jeudi 11 novembre 2004
Statut
Membre
Dernière intervention
21 septembre 2006

et je fais ca comment?
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Bah je t'ai donné le code pour... tu as lu mon post ?

Tu fait un tableau avec tes index de ta collection, et ensuite, pour ajouter dans ta collection, utilise le tableau à l'index voulu
Messages postés
5
Date d'inscription
jeudi 11 novembre 2004
Statut
Membre
Dernière intervention
21 septembre 2006

je viens de remarqué que: dim sIndexes(50) fais exactement ce dont j'ai besoin mais quand je met public au lieu de dim mais ca me met une erreur?
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
normal, tout dépend où est-ce que tu mets la déclaration !
Messages postés
5
Date d'inscription
jeudi 11 novembre 2004
Statut
Membre
Dernière intervention
21 septembre 2006

je l'ai mit tout en haut du code.:

Public index(2) As String

Private Sub Form_Load()
index(1) = "45"
index(2) = "53"
End Sub

et il me met: "constants, fixed-legth string, array, user defined types and declare statements not allowed as public members as object modules"
Messages postés
5
Date d'inscription
jeudi 11 novembre 2004
Statut
Membre
Dernière intervention
21 septembre 2006

Ca marche comme je le voulais. Merci de ton aide.