Collection : affichage de la clée

Yass

XLDnaute Nouveau
Bonjour,
Je me permets de solliciter votre aide car je n'arrive pas à obtenir ce que je souhaite.
Je dispose d'une collection MaCollection.
J'ai crée des objets dans cette collection (ce sont des personnes) ayant pour nom le prénom de chaque personne, et pour clée (key) un matricule...

Voici maintenant mon problème. Je souhaite ensuite parcourir les objets de ma collection et afficher les prénoms + les matricules !!
Pour les prénoms, j'y arrive mais je n'arrive décidément pas à trouver un moyen d'afficher la clée !!

Pouvez vous m'aider ?
Vous trouverez ci-joint un fichier exemple, afin de vous aider !!
Merci à vous !!
 

Pièces jointes

  • collection.xls
    30.5 KB · Affichages: 74
  • collection.xls
    30.5 KB · Affichages: 77
  • collection.xls
    30.5 KB · Affichages: 71

Yass

XLDnaute Nouveau
Re : Collection : affichage de la clée

Bonjour Pascal !
Je souhaite afficher le matricule, c'est-à-dire la valeur de "key" !!

Pour ajouter un objet à une collection, on écrit : MaCollection.Add item := Inst, key := CStr(Num)

Moi je souhaite pouvoir afficher la valeur de key !
 

job75

XLDnaute Barbatruc
Re : Collection : affichage de la clée

Bonjour Yass, salut Pascal,

Avec une seule boucle :

Code:
For nu = 0 To 2
[prenom].Offset(nu) = MaCollection.Item(CStr(nu))
[clee].Offset(nu) = nu
Next

Pourquoi donc se compliquer la vie ?

A+
 

Yass

XLDnaute Nouveau
Re : Collection : affichage de la clée

Bonjour job75,
Merci pour ta réponse.
Ta solution fonctionne, j'ai testé. Le problème est que dans le cadre de mon exemple j'ai attribué des valeurs simples et consécutives à "key" !

Mais dans mon vrai cas, les matricules sont des suites de lettre + chiffres, de type : m000000 !!!

Comment faire dans ce cas pour afficher les valeurs de "key" ?
Merci job75 !
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Collection : affichage de la clée

Bonjour,

Code:
Sub Essai()
    Set mondico = CreateObject("Scripting.Dictionary")
    mondico.Add Item:="Pierre", key:=CStr(nu)
    nu = 1
    mondico.Add Item:="Paul", key:=CStr(nu)
    nu = 2
    mondico.Add Item:="Jacques", key:=CStr(nu)
    [b2].Resize(mondico.Count, 1) = Application.Transpose(mondico.items)
    [c2].Resize(mondico.Count, 1) = Application.Transpose(mondico.keys)
End Sub

JB
 

Yass

XLDnaute Nouveau
Re : Collection : affichage de la clée

Bonjour BOISGONTIER !!
Merci pour ta méthode, c'est ce que je voulais.
Juste une petite précision, vu que cette fois ci on utilise des objets dictionary, dois je en conclure que ce que je demande est impossible avec les collections ?

[EDIT]
Pourrais tu m'en dire un peu plus sur cette ligne :
[prenom].Resize(mondico.Count, 1) = Application.Transpose(mondico.items)
Je ne suis pas sûr de tout comprendre !
Merci !
 
Dernière édition:

Discussions similaires

Réponses
7
Affichages
303

Statistiques des forums

Discussions
312 361
Messages
2 087 603
Membres
103 604
dernier inscrit
CAROETALEX59