Choix unique dans combobox multi colonnes

chich

XLDnaute Occasionnel
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
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Bonjour,

Code:
Dim f
Private Sub UserForm_Initialize()
  Set f = Sheets("bd")
  Set Rng = f.Range("A2:C" & f.[A65000].End(xlUp).Row)
  Me.ComboBox1.ColumnCount = 3
  Me.ComboBox1.ColumnWidths = "60;60;60"
  Me.ComboBox1.List = Rng.Value
End Sub

Private Sub ComboBox1_Click()
  Me.TextBox1 = Me.ComboBox1
  Me.TextBox2 = Me.ComboBox1.Column(1)
  Me.TextBox3 = Me.ComboBox1.Column(2)
End Sub

JB
 

Pièces jointes

  • FormComboBoxMultiCol.xls
    69 KB · Affichages: 37

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Bonsoir,

Placer le curseur sur la colonne à récupérer.

Code:
Dim f
Private Sub UserForm_Initialize()
  Set f = Sheets("bd")
  Set Rng = f.Range("A2:C" & f.[A65000].End(xlUp).Row)
  Me.ComboBox1.ColumnCount = 3
  Me.ComboBox1.ColumnWidths = "50;50;40"
  Me.ComboBox1.List = Rng.Value
End Sub

Private Sub ComboBox1_Click()
  Me.TextBox1 = Me.ComboBox1
  Me.TextBox2 = Me.ComboBox1.Column(1)
  Me.TextBox3 = Me.ComboBox1.Column(2)
End Sub

Private Sub ComboBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  a = Split(Me.ComboBox1.ColumnWidths, ";")
  Select Case X
  Case Is < CDbl(Left(a(0), 2))
  Me.ComboBox1.TextColumn = 1
  Case Is > CDbl(Left(a(0), 2)) + CDbl(Left(a(2), 2))
  Me.ComboBox1.TextColumn = 3
  Case Else
  Me.ComboBox1.TextColumn = 2
End Select
End Sub

JB
 

Pièces jointes

  • Copie de FormComboBoxMultiCol.xls
    93.5 KB · Affichages: 37
Dernière édition:

Discussions similaires

Réponses
13
Affichages
358

Statistiques des forums

Discussions
312 185
Messages
2 086 018
Membres
103 094
dernier inscrit
Molinari