Microsoft 365 combobox deux colonnes avec lignes horizontales

AIGOIN

XLDnaute Nouveau
Bonjour,
je voudrais alimenter une combobox deux colonnes avec deux plages horizontales.

Je m'explique j'ai sélectionné une plage de la cellule B6 à la cellule U25
Je voudrais alimenter ma combobox avec les lignes paires pour une colonne et les lignes impaires pour l'autre colonne
Ex: B6 + B8 + B10 jusqu'à B24 pour une colonne de ma combobox et B7 + B9 jusqu'à B25 pour l'autre colonne
merci pour votre aide
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour et bienvenue @AIGOIN :).
Bonjour à @ChTi160 et aux autres ;).

Un petit fichier (anonymisé) aurait été le bienvenu.

Essayez ce code dans le module de Userform1 du fichier joint (fichier créé par ma pomme car c'est votre 1er message dans le forum 😜) :
VB:
Private Sub UserForm_Initialize()
Dim t, i&, j&

   ComboBox1.ColumnCount = 10
   t = Range("b6:u25")
   For i = 1 To UBound(t)
      ComboBox1.AddItem t(i, 1)
      ComboBox1.AddItem t(i, 2)
   Next i
   For i = 1 To UBound(t)
      For j = 1 To 9
         ComboBox1.List(2 * (i - 1), j) = t(i, 3 + 2 * (j - 1))
         ComboBox1.List(2 * (i - 1) + 1, j) = t(i, 3 + 2 * (j - 1) + 1)
      Next j
   Next i
End Sub
 

Pièces jointes

  • AIGOIN- Combobox data sur 2 lignes- v1.xlsm
    24.7 KB · Affichages: 7
Dernière édition:

AIGOIN

XLDnaute Nouveau
Merci mapomme pour votre réactivité.

Je me suis mal exprimé, je souhaite une combobox avec deux colonnes verticales (confère fichier joint) une colonne avec les numéros de bagues de 001 à 200 (lignes paires B6 à B24) et une colonne avec les nids contenants les petits bagués (lignes impaires de B7 à B25)
 

Pièces jointes

  • fichier_bagues.xlsx
    26 KB · Affichages: 9

mapomme

XLDnaute Barbatruc
Supporter XLD
je souhaite une combobox avec deux colonnes verticales ...
Re,

Voir le fichier joint. Cliquer sur le bouton Hop!
Le code est dans le module de Userform1.
VB:
Private Sub ComboBox1_Change()
   If ComboBox1.ListIndex = -1 Then lbNid.Caption = "" Else lbNid.Caption = ComboBox1.List(ComboBox1.ListIndex, 1)
End Sub

Private Sub UserForm_Initialize()
  
   ComboBox1.ColumnCount = 2
   Label1.Width = ComboBox1.Width / 2: Label2.Width = ComboBox1.Width / 2
   Label1.Left = ComboBox1.Left + 5: Label2.Left = Label1.Left + Label1.Width
   lbNid.Left = Label2.Left: lbNid.Caption = ""
   lbNid.Width = Label2.Width - 30: lbNid.BackColor = ComboBox1.BackColor
   ComboBox1.List = CreerListe(Sheets("bagues").Range("b6:u25"))
End Sub

Function CreerListe(xplage As Range)
Dim t, i&, j&, n&

   t = xplage.Value
   ReDim v(1 To UBound(t) / 2 * UBound(t, 2), 1 To 2)
   For i = 1 To UBound(t) Step 2
      For j = 1 To UBound(t)
         n = n + 1
         v(n, 1) = Format(t(i, j), "000")
         v(n, 2) = t(i + 1, j)
      Next j
   Next i
   CreerListe = v
End Function
 

Pièces jointes

  • AIGOIN- fichier_bagues- v1.xlsm
    40.7 KB · Affichages: 16

AIGOIN

XLDnaute Nouveau
Re,

Voir le fichier joint. Cliquer sur le bouton Hop!
Le code est dans le module de Userform1.
VB:
Private Sub ComboBox1_Change()
   If ComboBox1.ListIndex = -1 Then lbNid.Caption = "" Else lbNid.Caption = ComboBox1.List(ComboBox1.ListIndex, 1)
End Sub

Private Sub UserForm_Initialize()
 
   ComboBox1.ColumnCount = 2
   Label1.Width = ComboBox1.Width / 2: Label2.Width = ComboBox1.Width / 2
   Label1.Left = ComboBox1.Left + 5: Label2.Left = Label1.Left + Label1.Width
   lbNid.Left = Label2.Left: lbNid.Caption = ""
   lbNid.Width = Label2.Width - 30: lbNid.BackColor = ComboBox1.BackColor
   ComboBox1.List = CreerListe(Sheets("bagues").Range("b6:u25"))
End Sub

Function CreerListe(xplage As Range)
Dim t, i&, j&, n&

   t = xplage.Value
   ReDim v(1 To UBound(t) / 2 * UBound(t, 2), 1 To 2)
   For i = 1 To UBound(t) Step 2
      For j = 1 To UBound(t)
         n = n + 1
         v(n, 1) = Format(t(i, j), "000")
         v(n, 2) = t(i + 1, j)
      Next j
   Next i
   CreerListe = v
End Function
 

AIGOIN

XLDnaute Nouveau
Bonjour à tous,

Une deuxième fois je fais appel à vous.
voir fichier joint
Je voudrais à l'aide de deux textboxs rechercher deux critères dans la feuille saisie dans la colonne B (ex 6100) et l'autre dans la colonne I (ex V ou P)
Rechercher toutes les lignes contenant ce critère et les copier soit dans la feuille 1 soit si c'est possible dans la feuille du critère sélectionné dans la textbox1 (ex 6100).
Merci pour vos réponses
 

Pièces jointes

  • expo_essai.xlsm
    115.4 KB · Affichages: 2

Discussions similaires

Statistiques des forums

Discussions
312 216
Messages
2 086 348
Membres
103 194
dernier inscrit
rtison