Microsoft 365 combobox deux colonnes avec lignes horizontales

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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

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

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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
272
Réponses
10
Affichages
539
Retour