OVH Cloud OVH Cloud

Choix unique dans combobox multi colonnes

3 réponses
Avatar
Gortex
Bonjour,
Dans une combobox multicolonnes
je souhaite pouvoir faire un choix en ligne et en colonnes
par exemple: je choisir 75009

Nom Ville CP
Dupont Paris 75008
Durand Boulogne 92100
Martin Paris 75009
Dupond Boulogne 92100
Bisson Paris 75005

merci d'avance

3 réponses

Avatar
Michd
Bonjour,
Je te suggère 2 procédures. La première montre 3 manières différentes de
remplir un combobox à plusieurs colonnes.
La deuxième procédure démontre comment extraire la valeur de la colonne que
l'usager désire. Pour cela il faut modifier la propriété "BoundColumn" en
lui affectant le numéro de la colonne dont tu veux extraire.
Observe :
Cette ligne de code :
Range("K5").Value = Me.ComboBox1.Value retourne la valeur de la colonne
sélectionnée telle que définie par "BoundColumn".
Cette ligne de code retourne toujours la valeur affichée dans le combobox
Range("L5").Value = Me.ComboBox1.Text
'Différentes méthodes de remplir un combobox à plusieurs colonnes
'--------------------------------------------
Sub Test()
Dim X As Variant
With Worksheets("Feuil1").ComboBox1
.ColumnCount = 3
.ColumnWidths = "60;60;60"
X = Range("A1:C10")
'A ) Méthode 1
Me.ComboBox1.List = X
'Méthode 2
.Clear
.Column() = Application.Transpose(X)
'Méthode 3
.Clear
For A = 1 To Range("A1:C10").Rows.Count
.AddItem Range("A" & A)
.List(A - 1, 1) = Range("b" & A)
.List(A - 1, 2) = Range("c" & A)
Next
End With
End Sub
'--------------------------------------------
Sub Test1()
'La propriété "BoundColumn" permet de sélectionner quelle est la valeur
'de la colonne le combobox doit retourner lors de la sélection d'un item.
'Par défaut, c'est la colonne 1.
Application.EnableEvents = False
Me.ComboBox1.BoundColumn = 3 '<<<========
Range("K5").Value = Me.ComboBox1.Value
Range("L5").Value = Me.ComboBox1.Text
Application.EnableEvents = True
End Sub
'--------------------------------------------
MichD
Avatar
gortex
Le lundi 05 Février 2018 à 09:30 par Gortex :
Bonjour,
Dans une combobox multicolonnes
je souhaite pouvoir faire un choix en ligne et en colonnes
par exemple: je choisir 75009
Nom Ville CP
Dupont Paris 75008
Durand Boulogne 92100
Martin Paris 75009
Dupond Boulogne 92100
Bisson Paris 75005
merci d'avance
Bonjour
merci
Dans TextColumn, propriété
ont ne peux paramétrer qu'une colonne
je ne trouve pas comment paramétrer plusieurs colonnes
merci
Avatar
Michd
Si tu veux afficher le texte de la colonne 3 par exemple lors de la
sélection d'un item d'un combobox ayant plusieurs colonnes, dont au moins 3
pour mon exemple...
Pour afficher le nombre de colonnes désirées
Me.Combox1.ColumnCount = 3
'Pour afficher dans le contenu de la colonne 3 lors d'une sélection du
combobox
Me.ComboBox1.TextColumn = 3
MsgBox Me.ComboBox1.Text
MichD