82 votes

Itération sur les dictionnaires VBA ?

J'utilise la classe Dictionnaire de la bibliothèque MS Runtime Scripting pour stocker où les étiquettes vont aller pour un modèle de rapport. Existe-t-il un moyen d'itérer sur toutes les paires de valeurs clés dans ce dictionnaire comme dans Python ?

Je veux juste utiliser la clé comme numéro de ligne (tout va dans la colonne A) et la valeur sera l'en-tête de l'étiquette.

Quelque chose comme :

For Each key in dict
    Range("A" & key).Value = dict(key)
Next key

143voto

EBGreen Points 14478

Essayez :

For Each varKey In oDic.Keys()
    Range("A" & varKey).Value = oDic(varKey)
Next

Notez que l'itérateur de clé doit être déclaré comme Variant.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X