Collection : affichage de la clée

  • Initiateur de la discussion Initiateur de la discussion Yass
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Y

Yass

Guest
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

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 !
 
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+
 
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 !
 
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
 
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 modification par un modérateur:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

L
  • Verrouillé
  • Question Question
Réponses
7
Affichages
1 K
E
Réponses
8
Affichages
2 K
E
Retour