XL 2010 [VBA] listbox : colonnes multiples

F22Raptor

XLDnaute Impliqué
Hello,
J'ai une liste de, disons, 100 entrées.
Je veux afficher une Listbox :
Solution 1, la plus simple :
Listbox verticale, qui affiche les 30 premières entrées, et un ascenseur à droite de la box pour descendre jusqu'à la centième

Solution 2, souhaitée :
Listbox horizontale : 3 colonnes de 10 entrées, et un ascenseur en bas, qui permet de faire défiler d'autres colonnes à droite, pour aller jusqu'à la dixième colonne.

Je vois que je peux multiplier les colonnes dans une Listbox, mais c'est plutôt pour mettre sur une ligne "nom, prénom, date de naissance".
C'est donc 3 caractéristiques de la même entrée.
Je cherche au contraire à afficher des colonnes qui soient la suite les unes des autres ...

Selon vous, c'est possible ?

Merci ! :)

NB : le nombre d'entrées sera en fait variable, inconnu à l'avance, mais plutôt quelques centaines
 

Jacky67

XLDnaute Barbatruc
Hello,
Solution 2, souhaitée :
Listbox horizontale : 3 colonnes de 10 entrées, et un ascenseur en bas, qui permet de faire défiler d'autres colonnes à droite, pour aller jusqu'à la dixième colonne.
NB : le nombre d'entrées sera en fait variable, inconnu à l'avance, mais plutôt quelques centaines
Bonjour,
Autre proposition
 

Pièces jointes

  • listbox.xlsm
    29.8 KB · Affichages: 52

F22Raptor

XLDnaute Impliqué
Le moment où tu te rends compte que tu t'es mal exprimé ... :D

Donc, un ptit fichier pour expliquer la chose :
j'ai donc ma liste à droite (avec un seul champ), et je veux la mettre, non pas dans une Listbox tradi, verticale (1), mais dans une Listbox qui serait horizontale, avec des colonnes "qui se suivent" (2)

Bien entendu, l'exemple joint n'est que du visuel ! Mais c'est l'idée que je souhaite obtenir.
Cela dit, je ne sais pas si c'est possible.
 

Pièces jointes

  • listbox_colonnes.xlsx
    14.6 KB · Affichages: 48

ChTi160

XLDnaute Barbatruc
Bonsoir F22Raptor
Bonsoir le Fil ,Le Forum
Cela veut il dire que lorsque tu choisis un élément de ta ListBox(1)
tu n'auras pas plus de 10 Colonnes possibles dans la ListBox (2) ?
Pourrais tu mettre quelques Lignes de données , qui nous permettrons de voir la configuration de la Base de Recherche , soit x Lignes de 10 colonnes si j'ai bien compris Lol
Ce qui devrait se transformer en x Colonnes de 10 Lignes Lol
Dans l'attente
PS Bonsoir Nicole
à voir ton fichier je n'ai rien compris LOL
Bonne fin de Soirée
Amicalement
Jean marie
 

F22Raptor

XLDnaute Impliqué
Bon, je me suis encore mal exprimé :D
je ne voulais pas (1) et (2).
Je sais faire (1), c'est la listbox normale
Et je voudrais plutôt l'afficher comme en (2)

J'ai refait mon fichier ; cf ci-joint
 

Pièces jointes

  • listbox_colonnes2.xlsx
    15.6 KB · Affichages: 50

laetitia90

XLDnaute Barbatruc
bonsoir toutes:) & tous:):):)
comme je comprends "saut" de 4 pour remplir cela ok... par contre select un item:( dans la ligne de la listbox pas possible... enfin pour moi :rolleyes: la soluc... serait peut être une listview

c'est quoi le but final pour eviter de faire une "usine a gaz" :eek::eek:
 

F22Raptor

XLDnaute Impliqué
Bonjour Nicole,
Joli le spin button ! :)
Idéalement, ce n'est pas ce que je cherche (Listbox toujours vertivcale), mais j'ai peur que ma listbox horizontale ne soit pas possible.

@ Laetitia : le but est d'avoir une listbox qui soit horizontale et non verticale, pour s'adapter à un UF qui ne me laisse pas de place en vertical.
Et donc, en ayant une taille en hauteur permettant d'afficher 10 noms, mais étant l'équivalent de 4 listbox les unes à côté des autres, ça permettrait d'afficher 40 noms dans la liste, avec un ascenseur en bas de la box.
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re- Bonjour à tous,

@ Laetitia : le but est d'avoir une listbox qui soit horizontale et non verticale, pour s'adapter à un UF qui ne me laisse pas de place en vertical.
Et donc, en ayant une taille en hauteur permettant d'afficher 10 noms, mais étant l'équivalent de 4 listbox les unes à côté des autres, ça permettrait d'afficher 40 noms dans la liste, avec un ascenseur en bas de la box.

J'aime ce petit délire

Si la ListBox ne sait pas s'adapter à l'USF, alors il faut adapter l'USF en fonction de la ListBox

c'est quoi le but final pour eviter de faire une "usine a gaz" :eek::eek:
Le but final , on ne l'a toujours pas mais je pense plutôt qu'on se dirige vers une centrale nucléaire :(:(:(

Et quand la Listbox sera remplie selon les désirs, elle va servir à quoi ????
Si c'est pour récupérer des infos concernant une personne (un article) en cliquant dessus alors que les données sont entassées dans la listbox, on n'a pas fini de s'arracher les cheveux.


J'aurais bien aimé avoir un retour concernant ma réponse apportée au post#2 car cette solution permet d'afficher dans la listbox uniquement ce qu'on cherche et l'affichage s'affine au fur et à mesure de la saisie sur le clavier.
Cette solution, je l'ai faite maintes fois pour différents demandeurs sur ce forum et chaque fois ils ont été très satisfaits de la solution

à+
Philippe
 

F22Raptor

XLDnaute Impliqué
Hello Laurent,
Ce n'est pas pour créer une usine à gaz, mais si la solution existe (et aurait pu être une option native VBA, que j'ignorais), alors pourquoi s'en priver ?

Concrètement, j'ai un grand UF, dans lequel cohabitent depuis 5 ans des icônes et listboxes.
Je vais supprimer certaines box, ce qui va libérer un espace horizontal en haut de mon UF : si je peux caser ma liste d'entrées de manière horizontale, je préfère ça plutôt que de revoir toute l'organisation (un peu contrainte) de mon UF.

Si ce n'est pas possible, j'appliquerais, comme à l'accoutumé, les dispositions de l'article 22 pour faire différemment.


Cette liste d'entrées (que je veux pouvoir afficher les unes à la suite des autres, afin de voir ce qui existe déjà) me servira, par un clic sur l'entrée souhaitée, à lancer une page intranet dont l'URL contient mon entrée.
Donc pour en revenir sur ton code du post#2 : il est franchement très efficace, et très propre.
Cela dit, comme j'avais mal exprimé mon besoin (notamment la nécessité de voir les entrées et les faire défiler par l'ascenseur), il ne collait pas à ma demande.
Mais je le retiens pour un prochain besoin ! ;)
 
Dernière édition:

F22Raptor

XLDnaute Impliqué
Merci "Si" !
C'est l'idée générale, mais je pense qu'on ne peut pas cliquer indépendemment sur un item dans le cas d'une LB avec plusieurs colonnes.
Tant pis, je me débrouillerai autrement

Merci à tous pour votre aide, et ces codes ne resteront pas, de toute façon, dans des cartons ! ;)
 
Dernière édition:

Si...

XLDnaute Barbatruc
@ BISSON Nicole

C'est la solution du #5 (en moins bien).
1- Vois-tu là même chose (indépendamment des procédures totalement différentes) quand les formulaires s'affichent ? Moi pas.
upload_2017-9-29_12-52-4.png

2- Je trouve inconvenant d'affirmer "c'est moins bien" notamment parce que je ne me contente pas d'utiliser les codes de BoisGontier *! Tu n'as pas dû lire beaucoup mes propositions qui en général, ne ressemblent pas à celles fournies (avec utilisation de certaines nouveautés apparues au fil des versions et qui n'ont pas la prétention de se montrer utilisables quelque soient les contraintes).

*cela fait un bon moment (6 janvier 2017) que Jacques n'est pas intervenu sur ce site . Es-tu chargée de proposer ses codes ?
 

Si...

XLDnaute Barbatruc
Bonjour quand même BISSON

On ne peut pas proposer une alternative* à laquelle le demandeur n'a pas pensée :oops: ?

Si… oui, c'est vraiment restrictif (après la première réponse acceptée le sujet serait clos) !

S'il avait été question d'un contrôle ListView, j'aurais joint

*cela pourrait intéresser d'autres lecteurs
 

Pièces jointes

  • ListView(orentation).xlsm
    26.9 KB · Affichages: 49

Discussions similaires