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

XL 2010 plusieurs colonnes dans listbox (résolu)

misteryann

XLDnaute Occasionnel
Bonjour le forum.

Sur le site de Jacques Boisgontier, il y a un fichier qui m'intéresse.
Mais je n'arrive pas à mettre les valeurs que je souhaite voir apparaître dans la listbox1, soit les valeurs des colonnes A, B, H, K, R et U.
Je pense que cela se passe ici:

Code:
Sub listeExistants()
  Me.ListBox1.Clear
  i = 0
  col = Me.ComboBox1.ListIndex
  a = f.Range("a2:a" & f.[A65000].End(xlUp).Row).Resize(, nbCol)
  tmp = UCase(Me.ComboBox2)
  For k = 1 To UBound(a)
    If UCase(a(k, col + 1)) = tmp Then n = n + 1
  Next k
  Dim b(): ReDim b(1 To n, 1 To 5)
  For k = 1 To UBound(a)
    If UCase(a(k, col + 1)) = tmp Then
      i = i + 1
      b(i, 1) = a(k, col + 1)
      b(i, 2) = a(k, 1)
      b(i, 3) = a(k, 2)
      b(i, 4) = a(k, 3)
      b(i, 5) = k + 1
    End If
  Next k
  Me.ListBox1.List = b
End Sub

Quelqu'un a t-il une idée?

Merci d'avance.
 

Pièces jointes

  • Copie de RechercheBD4.zip
    78.7 KB · Affichages: 30
Dernière édition:

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : plusieurs colonnes dans listbox

Bonjour,

cf PJ

Code:
Sub listeExistants()
  Me.ListBox1.Clear
  i = 0
  col = Me.ComboBox1.ListIndex
  a = f.Range("a2:a" & f.[A65000].End(xlUp).Row).Resize(, nbCol)
  tmp = UCase(Me.ComboBox2)
  For k = 1 To UBound(a)
    If UCase(a(k, col + 1)) = tmp Then n = n + 1
  Next k
  Dim b(): ReDim b(1 To n, 1 To 6)
  For k = 1 To UBound(a)
    If UCase(a(k, col + 1)) = tmp Then
      i = i + 1
      b(i, 1) = a(k, col + 1)
      b(i, 2) = a(k, 2)
      b(i, 3) = a(k, 8)
      b(i, 4) = a(k, 11)
      b(i, 5) = a(k, 18)
      b(i, 6) = a(k, 21)
    End If
  Next k
  Me.ListBox1.List = b
End Sub

JB
 

Pièces jointes

  • Copie de Copie de RechercheBD4.xls
    322.5 KB · Affichages: 34
Dernière édition:

Discussions similaires

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