Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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: 39
Dernière édition:

Discussions similaires

Réponses
13
Affichages
368
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…