ComboBox multi colonnes

blord

XLDnaute Impliqué
Bonjour à tous,

J'utilise le code suivant pour charger un combobox à 2 colonnes :

Dim L As Integer
Dim Plage As String
L = Sheets("RaisonTransfert").Range("A65536").End(xlUp).Row
Plage = Sheets("RaisonTransfert").Range("A2:B" & L).Address
ComboBox1.RowSource = "RaisonTransfert!" & Plage
ComboBox1.ColumnCount = 2
ComboBox1.ColumnHeads = False
ComboBox1.ColumnWidths = "30;350"


Le chargement du combobox se fait parfaitement, la liste affiche bien les données de mes 2 colonnes.

Le problème survient lorsque je fais une sélection dans la liste, à ce moment, le combobox n'affiche que la valeur de la donnée de la première colonne ??

Que dois-je faire pour que la sélection affiche bien le contenu des deux colonnes ?

Merci beaucoup...

Blord
 
G

Guest

Guest
Re : ComboBox multi colonnes

Bonsoir blord;

J'ai bien peur que ce ne soit pas possible directement.
Par contre tu peux mettre un Label en face de la combobox dans lequel, sur sélection tu affiche le contenu de la deuxième colonne
Comme ci-dessous avec un label nommé LeLabel
Code:
With ComboBox1
 If .ListIndex>-1 then
    LeLabel.Caption=.List(.listindex,1) 'La numérotation des colonnes commence à 0
end if
End With

A+
 

jp14

XLDnaute Barbatruc
Re : ComboBox multi colonnes

Bonsoir


La propriété .BoundColumn = 1 permet de spécifier la colonne qui est affichée quand on a fait une sélection.
Ce qui implique que le système ne peut afficher plus d'une colonne.

L'utilisation d'un listview évite ce problème.

En lisant les réponses une autre solution
Superposer la combobox et un textbox.
Quand listindex=-1 on affiche le combobox et on masque le textbox,
quand listindex <> -1 on affiche le textbox
Si le focus est mis sur textbox ( enter) on rend invisible le textbox et on rend visible le combobox.


Salut ChTi160
JP



JP
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Re : ComboBox multi colonnes

Salut blord
Bonsoir le fil
Bonsoir le forum

Peut être cette solution car comme le dit jp je ne pense pas que l'on puisse afficher les deux colonnes ???

Code:
Private Sub ComboBox1_Click()
With Me.ComboBox1
  .Text = .List(.ListIndex, 0) & "       " & .Column(1, .ListIndex)
End With
End Sub

bonne fin de Soirée
 

blord

XLDnaute Impliqué
Re : ComboBox multi colonnes

Bonjour, Hasco, Alexga78, jp14, chti160, le forum,

Merci pour vos réponses...

Initialement, un listbox multicolonnes était prévu mais comme j'avais besoin de regagner de l'espace dans mon userform, j'ai pensé à utiliser le combobox à la place du listbox...

Je pense que la solution de Alexga78 est la plus simple si je décide d'utiliser le combobox...

Merci à tous...

Blord
 

blord

XLDnaute Impliqué
Re : ComboBox multi colonnes

Bonsoir le fil,
Bonsoir le forum,

Je viens de tester la solution de ChTi160 et elle est fonctionne à merveille !! Il est donc inutile de créer une troisième colonne pour afficher le tout dans le combobox...

Merci !

Blord
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin