alimentation listbox a partir d'une autre listbox

antiphot

XLDnaute Occasionnel
Bonjour à toutes et à tous

En Listbox1, j'affiche les données situées dans les colonnes A à C

Mon souhait:

Lorsque je clique sur un item de la listbox 1, en listbox2 je désire avoir les données correspondantes c.a.d par exemple:

Pour le produit 1, j'aurais

Matières premières Code SAP QT
MP1......................4400231.....1
MP7......................4400237.....3
MP10....................4400240.....4

Ci-joint mon fichier exemple

Merci par avance
Cordialement
Philippe
 

Pièces jointes

  • ListboxAntiphot.zip
    27 KB · Affichages: 120
  • ListboxAntiphot.zip
    27 KB · Affichages: 136
  • ListboxAntiphot.zip
    27 KB · Affichages: 128

Habitude

XLDnaute Accro
Re : alimentation listbox a partir d'une autre listbox

Pourquoi ne pas utiliser des listview.

Bref, regarde si ca te conviens.
 

Pièces jointes

  • ListboxAntiphot.zip
    27.9 KB · Affichages: 264
  • ListboxAntiphot.zip
    27.9 KB · Affichages: 274
  • ListboxAntiphot.zip
    27.9 KB · Affichages: 275

antiphot

XLDnaute Occasionnel
Re : alimentation listbox a partir d'une autre listbox

Merci Habitude, cela me convient parfaitement. Concernant les listview, je ne connais absolument pas. Mais d'après ce que j'ai pu voir ici et là leur utilisation me paraît plus délicate ?
 

antiphot

XLDnaute Occasionnel
Re : alimentation listbox a partir d'une autre listbox

Bonjour à toutes et à tous et bon 14 juillet

Bonjour Habitude. Vu mon petit niveau d'amateur en vba, je pense que les listview ce sera pour plus tard. Néanmoins en ce qui concerne le tri, il est vrai que dans ce cas préçis je suis embêté.

En effet la correspondance entre les deux listbox fonctionne bien tant que ma variable est égale à listbox1.listindex + 3 Mais si j'effectue un tri de ma listbox1 à partir d'une des 3 colonnes de ma listbox1 (Macro de Boisgontier) la valeur de ma variable change et les données indiquées dans ma listbox2 sont fausses.

Je ne sais pas si il existe un moyen de lier les deux listbox lors du tri sans intervenir sur la feuille ?
 

Habitude

XLDnaute Accro
Re : alimentation listbox a partir d'une autre listbox

Je n'avais pas pris en compte les tri

Remplace la ligne

Code:
l = ListBox1.ListIndex + 3

Par

Code:
With Sheets("BDMP"): l = .Range("A3:A" & .Range("A65536").End(xlUp).Row).Find(ListBox1.Text).Row: End With
 

antiphot

XLDnaute Occasionnel
Re : alimentation listbox a partir d'une autre listbox

Merci pour ta réponse

Passer par Find est astucieux mais la recherche se fait sur le texte de la colonne A. Hors on peut avoir deux libellés identiques. Ce qui génère des erreurs. L'idéal serait d'effectuer la recherche sur la colonne D qui contient des codes uniques sans aucun doublon.
 

antiphot

XLDnaute Occasionnel
Re : alimentation listbox a partir d'une autre listbox

Ok c'est bon j'ai retrouvé comment faire
Merci pour tout

Code:
ListBox1.TextColumn = 4
With Sheets("BDMP"): l = .Range("D3:D" & .Range("D65536").End(xlUp).Row).Find(ListBox1.Text).Row: End With
 

Habitude

XLDnaute Accro
Re : alimentation listbox a partir d'une autre listbox

TextColumn n'est pas une mauvaise idée


Tu peux aussi remplacer
listbox1.text
Par
ListBox1.List(ListBox1.ListIndex, 3)



Code:
With Sheets("BDMP"): l = .Range("D3:D" & .Range("D65536").End(xlUp).Row).Find(ListBox1.List(ListBox1.ListIndex, 3)).Row: End With
 

Discussions similaires

Statistiques des forums

Discussions
312 381
Messages
2 087 823
Membres
103 666
dernier inscrit
ValdeTriDi