Affichage d'une sélection d'un combobox

J-Charles

XLDnaute Occasionnel
Bonjour et bon week-end à tous

J'ai dans un userform un combobobox à 2 colonnes( columncuount=2). Je l'alimente sans problème avec des données venant de 2 plages différentes. Lorsque je clique sur la flêche du combobox, il me déroule la liste des éléments sur 2 colonnes, jusque là tout est normal. Lorsque je choisis une ligne dans cette liste en cliquant dessus n’apparaît plus qu'en surbrillance dans la fenêtre du combobox que l'éléments de la 1ère colonne. Ou est donc l'élément de la 2ème colonne qui se trouvait sur la même ligne.
Je vous remercie par avance.
 

Staple1600

XLDnaute Barbatruc
Re : Affichage d'une sélection d'un combobox

Bonjour à tous

Ou est donc l'élément de la 2ème colonne qui se trouvait sur la même ligne.
Ce quoi je répondrai promptement
Où est donc le fichier exemple joint par le demandeur ? ;)
(qui accessoirement évite de perdre son temps à recréer un fichier qui existe déjà sur le disque dur du dit demandeur)

NB: Et je penserai au fond de moi-même, derrière le couloir, en rédigeant la question-ci-dessus
un XLDnaute inscrit depuis mai 2008 est censé savoir cela depuis belle lurette , non ...:rolleyes:
 

J-Charles

XLDnaute Occasionnel
Re : Affichage d'une sélection d'un combobox

Désolé,
Voici un petit bout de fichier avec mon pb
Merci
 

Pièces jointes

  • Essais Combobox.xlsm
    20.5 KB · Affichages: 34
  • Essais Combobox.xlsm
    20.5 KB · Affichages: 44
  • Essais Combobox.xlsm
    20.5 KB · Affichages: 53

Staple1600

XLDnaute Barbatruc
Re : Affichage d'une sélection d'un combobox

Re

Testé sur ton fichier
(j'ai bien les deux colonnes dans le Combo)
Code:
Private Sub UserForm_Initialize()
'Alimente CbxAdherent
CbxAdherent.List = Sheets(1).[A1].CurrentRegion.Value
End Sub
Pour éviter les mauvais surprises, préférez cette version
Code:
Private Sub UserForm_Initialize()
'Alimente CbxAdherent
With Sheets(1)
    CbxAdherent.List = Range(.Cells(1, 1), .Cells(Rows.Count, 2).End(3)).Value
End With
End Sub
 
Dernière édition:

J-Charles

XLDnaute Occasionnel
Re : Affichage d'une sélection d'un combobox

Salut Staple 1600
Désolé mais cela ne fonctionne pas. Dans mon code comme dans le tien, apparaît bien les 2 colonnes. C'est lorsque je sélectionne une ligne du combobox qu'en surbrillance n’apparaît que l'élément de la 1ère colonne.
Exemple: je sélectionne la ligne Durand Marc, n'apparaît qu'en surbrillance Durand
 

J-Charles

XLDnaute Occasionnel
Re : Affichage d'une sélection d'un combobox

Bonjour à tous
Après de nombreuses consultations, mon petit problème ne trouve pas de solutions. Est ce que je me suis mal expliqué ou bien n'y a t'il aucune solution prévu.
Si une bonne âme peut me répondre ça serait super sympa.
Merci d'avance à tous
 

laetitia90

XLDnaute Barbatruc
Re : Affichage d'une sélection d'un combobox

bonjour J-Charles , Jean Marie :):)

essai comme cela

Code:
Private Sub UserForm_Initialize()
  CbxAdherent.List = Range("a1:b" & Cells(Rows.Count, 1).End(3).Row).Value
End Sub
 Private Sub CbxAdherent_Click()
  CbxAdherent = CbxAdherent.List(CbxAdherent.ListIndex, 0) & "    " & CbxAdherent.List(CbxAdherent.ListIndex, 1)
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : Affichage d'une sélection d'un combobox

Bonjour à tous


Une solution possible serait d'utiliser un ListBox en lieu et place d'un ComboBox.
Avec l'une des deux syntaxes pour remplir la ListBox
01ListBox.png
VB:
Private Sub ListBox1_Click()
MsgBox "Vous avez cliqué sur :" & vbCrLf & ListBox1.Value & Space(1) & Me.ListBox1.Column(1, Me.ListBox1.ListIndex), vbInformation
End Sub
Private Sub UserForm_Initialize()
With Sheets(1)
ListBox1.List = Range(.Cells(2, 1), .Cells(Rows.Count, 2).End(3)).Value
End With
End Sub
'On peut aussi utiliser RowSource
'mais c'est l'un ou l'autre, pas les deux ;-)
'Private Sub UserForm_Initialize()
'With Sheets(1)
'ListBox1.RowSource = Range(.Cells(2, 1), .Cells(Rows.Count, 2).End(3)).Address
'End With
'End Sub
'
 

Pièces jointes

  • 01ListBox.png
    01ListBox.png
    44.9 KB · Affichages: 80
  • 01ListBox.png
    01ListBox.png
    44.9 KB · Affichages: 76

J-Charles

XLDnaute Occasionnel
Re : Affichage d'une sélection d'un combobox

Bonsoir laetitia90 et staple90
Merci pour votre aide mais cela ne fonctionne toujours pas.
Pour Laetitia90 j'ai un message d'erreur 380: Impossible de définir la propriété value. Valeur de propriété non valide
Pour Staple1600, la listbox ne me convient pas par manque de place sur mon Usreform. En effet le combobox ne prend que peut d'espace car on a une liste déroulante. Avec la listbox la fenêtre doit être beaucoup plus haute si non les flèches de l’ascendeur sont trop proches.
Merci de votre aide et bonne soirée
 

Staple1600

XLDnaute Barbatruc
Re : Affichage d'une sélection d'un combobox

Bonsoir leti


je t'avions point vue passé ;)
Avec ton code, cela fonctionne aprés la sélection, mais pas quand tu cliques sur le DropButton du Combo
Code:
Private Sub UserForm_Initialize()
Dim t
With Sheets(1)
t = Range(.Cells(2, 1), .Cells(Rows.Count, 2).End(3)).Value
ListBox1.List = t
ComboBox1.List = t
End With
End Sub
Code:
Private Sub Combobox1_Click()
ComboBox1 = ComboBox1.Value & "  " & ComboBox1.List(ComboBox1.ListIndex, 1)
End Sub
 

J-Charles

XLDnaute Occasionnel
Re : Affichage d'une sélection d'un combobox

Merci mille fois à Laetitia90 et Staple1600
Cela fonctionne enfin, je me suis rendu compte que je n'avais pas tout précisé. En fait j'alimente mon combobox à 3 colonnes avec 3 plages différentes. La ère colonne du combobox récupère des N° et par esthétique et voulant les cacher, j'ai mis la propriété columnwidths à 0 pts. C'est que qui fait que lorsque je sélectionnait une ligne, je n'avais en surbrillance qu'un seul élément de ma ligne. En mettant de côté l'esthétique et en réglant la propriété sur 30, lorsque je sélectionne une ligne, j'ai bien 2 éléments (nom et prénom) qui apparaissent en surbrillance.
encore merci à tous les deux pour votre aide et bonne journée
 

Discussions similaires

Statistiques des forums

Discussions
312 485
Messages
2 088 815
Membres
103 971
dernier inscrit
abdazee