Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

combobox multicolonnes

3 réponses
Avatar
Izmi
Bonsoir ;

Est-il possible de saisir directement des données en trois colonnes sur un
combobox ? C'est à dire sans rowsource.

Merci

3 réponses

Avatar
anonymousA
bonjour,

La saisie sur plusieurs colonnes au sens strict n'est pas possible. La
rentrée d'éléments divers par programmation est par contre possible.
p.e , ici le combobox a 2 colonnes. On crée une entrée par additem et
on rentre en colonne 1 la valeur de la cellule A1 de la feuille toto
puis en colonne 2 ( indice 1) la valeur de la cellule B1 de la feuille toto.

with Me.ComboBox1
.AddItem sheets("toto").Cells(1,1)
.List(1, 1) = sheets("toto").Cells(1,2)
End With

A adapter bien sur à tes conditions spécifiques

A+

Bonsoir ;

Est-il possible de saisir directement des données en trois colonnes sur un
combobox ? C'est à dire sans rowsource.

Merci


Avatar
Hervé
Salut Izmi,
C'est tout à fait possible, regarde si cela te conviens :

Private Sub UserForm_Initialize()
Dim I As Integer
With Me.ComboBox1
.Width = 300
'défini le nombre de colonne
.ColumnCount = 3
'modifier ici les différentes largeurs
.ColumnWidths = "95;95;95" '"100;45;26"
For I = 1 To 5
'rempli la 1ere colonne
.AddItem "Colonne 1 ligne " & I
'rempli la 2ème colonne
.Column(1, I - 1) = "Colonne 2 ligne" & I
'rempli la 3ème colonne
.Column(2, I - 1) = "Colonne 3 ligne" & I
Next I
End With
End Sub

Private Sub ComboBox1_Click()
Dim I As Integer
'récupération des valeurs
With Me.ComboBox1
For I = 0 To .ColumnCount - 1
MsgBox .Column(I, .ListIndex)
Next I
End With
End Sub

Hervé.

"Izmi" a écrit dans le message news:

Bonsoir ;

Est-il possible de saisir directement des données en trois colonnes sur un
combobox ? C'est à dire sans rowsource.

Merci


Avatar
Izmi
Merci pour vos réponses.

Le code proposé par Hervé me sera utile à un autre endroit de mon
application. En complément j'aimerais que l'utilisateur, qui lui n'accéde pas
au code, puisse
saisir, si possible, directement les contenus des colonnes à même la
combobox. Ces contenus seront ensuite retranscrits dans une, ou plusieurs,
cellule de la feuille.

Merci encore.

Izmi


Salut Izmi,
C'est tout à fait possible, regarde si cela te conviens :

Private Sub UserForm_Initialize()
Dim I As Integer
With Me.ComboBox1
.Width = 300
'défini le nombre de colonne
.ColumnCount = 3
'modifier ici les différentes largeurs
.ColumnWidths = "95;95;95" '"100;45;26"
For I = 1 To 5
'rempli la 1ere colonne
.AddItem "Colonne 1 ligne " & I
'rempli la 2ème colonne
.Column(1, I - 1) = "Colonne 2 ligne" & I
'rempli la 3ème colonne
.Column(2, I - 1) = "Colonne 3 ligne" & I
Next I
End With
End Sub

Private Sub ComboBox1_Click()
Dim I As Integer
'récupération des valeurs
With Me.ComboBox1
For I = 0 To .ColumnCount - 1
MsgBox .Column(I, .ListIndex)
Next I
End With
End Sub

Hervé.

"Izmi" a écrit dans le message news:

Bonsoir ;

Est-il possible de saisir directement des données en trois colonnes sur un
combobox ? C'est à dire sans rowsource.

Merci