Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Affichage Combobox multi-colonnes

Pounet95

XLDnaute Occasionnel
Bonjour tout le monde,
J'utilise une combobox chargée via un tableau structuré nommé Tb_Dept et contenant 3 colonnes Id, nom, numéro.
Quand la flèche ascenseur est sélectionnée, les valeurs sont affichées avec pour chaque ligne les 3 colonnes.
Quand je quitte cette combobox après avoir choisi un item, ne reste affichée que la colonne 1. Donc dans le cas présent l'ID.

Question : comment garder l'affichage précédent avec les 3 colonnes ?

Je ne sais si c'est "basique", mais je ne vois pas dans les propriétés de quoi afficher en totalité une fois la sélection faite.
Il y a bien la solution d'écrire dans un textbox, mais bon !!

Merci de vos conseils, suggestions ( autres que "tu as cherché ....."), etc
Pounet95

 
Solution
Bonjour

Tu peux concaténer les trois items dans le ComboBox

un exemple


VB:
For Each Z In Range(F2.[C2], F2.[C65000].End(xlUp))  'alimente combobox recherche patient avec nom,prénom,date naissance
     Me.combobox1.AddItem
     Me.combobox1.List(i, 0) = Z & " " & Z.Offset(0, 1) & " " & Z.Offset(0, 2)
     i = i + 1
   Next


Cdt

Chris24

XLDnaute Impliqué
Bonjour

Tu peux concaténer les trois items dans le ComboBox

un exemple


VB:
For Each Z In Range(F2.[C2], F2.[C65000].End(xlUp))  'alimente combobox recherche patient avec nom,prénom,date naissance
     Me.combobox1.AddItem
     Me.combobox1.List(i, 0) = Z & " " & Z.Offset(0, 1) & " " & Z.Offset(0, 2)
     i = i + 1
   Next


Cdt
 

Pounet95

XLDnaute Occasionnel
Bonjour Chris24, bonjour tout le monde ,
Effectivement la concaténation est une solution que j'avais mis en place en ajoutant une colonne au tableau. Le problème est qu'à chaque ajout, il faut aussi tenir compte de celle-ci avec une ligne de code supplémentaire.
En ce qui concerne la boucle additem, ça en fait encore plus. Et comme je suis partisan du moindre effort .....
Au final, par rapport au besoin, j'ai simplement changé :
listbox1.list=range("Tb_Dept").value en
listbox1.list=range("Tb_Dept").columns(2).value

Merci deta réponse
Bon confinement J-?
Claude alias Pounet95
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…