[VBA] - Alimenter Listbox à 2 colonnes avec 2 dictionnaires

Bonsoir,

Une fois que l'on à rempli un dictionnaire, il est possible d'alimenter une listbox à partir de ce dernier ainsi :

Me.ListBox.List = dictionnaire.keys

Mais si notre listbox comporte deux colonnes, est-ce qu'il est possible de l'alimenter selon une méthode similaire, en indiquant la colonne 1 (0) et la colonne 2 (1) ?

J'ai essayé, mais j'ai une erreur "Index de table de propriétés non valide".

Pour le moment je n'ai pas trouvé la solution sur internet.. A chaque fois la méthode utilisée n'est pas celle que j'espère.

Il s'agit plus d'une question que d'une demande d'aide particulière. S'il faut nécessairement passer par une variable tableau plutôt qu'un dictionnaire par exemple, alors je ferai ainsi

Je vous remercie de votre attention,

Bonne soirée !

Salut Le Drosophile,

Dans ce cas, je te propose plutôt de créer un array à 2 colonnes, d'alimenter cet array avec tes 2 dicos puis avec la même méthode, d'alimenter ta ListBox !

Bonjour Le Drosophile, Salut Baboutz !

Par alimenter par 2 dictionnaires, tu parles bien de 2 dictionnaires distincts et non des clés et des items d'un même dictionnaire ?

Edit : Quoi qu'il en soit la méthode serait plus ou moins la même mais dans le cas de 2 dictionnaires, c'est assez délicat de s'assurer à l'avance d'une égalité du nombre de clés...

Voici un essai :

Me.ListBox.List = application.transpose(array(dico1.keys, dico2.keys))

'ou

Me.ListBox.List = application.transpose(array(dico1.keys, dico1.items))

Cdlt,

Bonsoir,
En effet, j'oubliais d'utiliser les items du dictionnaires, la deuxième solution que vous proposez serait parfaite !

Me.ListBox.List = application.transpose(array(dico1.keys, dico1.items))

Je vais juste avoir besoin de remplir les items en même temps que les clés, plutôt que de remplir un second dictionnaires.

Merci beaucoup pour cette solution ! C'est exactement ce que je recherchais

Bonne soirée !

Rechercher des sujets similaires à "vba alimenter listbox colonnes dictionnaires"