Remplir des listbox suite à un combobox

L

Luc

Guest
Bonsoir le forum,

Lorsque je sélection un nom dans un combobox, j'aimerais que les données correspondantes (cellules B à F) apparaissent dans mes listbox.

Quelqu'un pourrait m'aider ?

Merci
 

gex1403

XLDnaute Occasionnel
Salut Luc, adaptes ce code a ton fichier

WS etant le nom de ta feuille ou tu veux recuperer les données

Private Sub ComboBox1_Click()
If Me.ComboBox1.ListIndex = -1 Then Exit Sub 'ON sort si pas de sélection

TextBox1 = WS.Range('B' & Me.ComboBox1.ListIndex + 2) 'On alimente les données correspondant à la ligne
TextBox2.Value = WS.Range('c' & Me.ComboBox1.ListIndex + 2) 'On alimente les données correspondant à la ligne
TextBox3.Value = WS.Range('d' & Me.ComboBox1.ListIndex + 2)
TextBox4.Value = WS.Range('e' & Me.ComboBox1.ListIndex + 2)
TextBox5.Value = WS.Range('f' & Me.ComboBox1.ListIndex + 2)

With Me

End With
End Sub

@micalement
 
F

François

Guest
Bonjour gex1403,

Je cherche une solution tel que tu as donné à Luc. J'ai modifié des lignes pour que le tout fonctionne pour moi sans succès. Mes données se trouvent en D, E, etc.

Est-ce tu pourrais regarder cela et faire les corrections. Merci beaucoup.

Private Sub ComboBox3_Change()
Dim tabtemp As Variant
Dim O As Integer

With Worksheets('Inventaire')
O = .Range('a15000').End(xlUp).Row
tabtemp = .Range('A2:ae' & O).Value

For O = 1 To UBound(tabtemp, 1)
If tabtemp(O, 1) = CStr(Me.ComboBox1.Value) And tabtemp(O, 2) = CStr(Me.ComboBox2.Value) _
And tabtemp(O, 3) = CStr(Me.ComboBox3.Value) Then

ListBox1 = .Range('d' & Me.ComboBox3.Value + 2)
ListBox2.Value = .Range('e' & Me.ComboBox3.ListIndex + 4)
ListBox3.Value = .Range('f' & Me.ComboBox3.ListIndex + 4)
ListBox4.Value = .Range('g' & Me.ComboBox3.ListIndex + 4)
ListBox5.Value = .Range('h' & Me.ComboBox3.ListIndex + 4)
ListBox6.Value = .Range('i' & Me.ComboBox3.ListIndex + 4)
ListBox7.Value = .Range('j' & Me.ComboBox3.ListIndex + 4)
ListBox8.Value = .Range('k' & Me.ComboBox3.ListIndex + 4)

With Me

End With
End If

Next O
End With

End Sub
 
G

GSXR282005

Guest
Salut Francois, j'ai modifié ton fichier , remplacé ton userform par un autre, voir le code pour finaliser sur les colonnes que tu veux.J'ai supprimé la feuil1, pour reduire le fichier a moins de 50 ko

@micalement [file name=Test_20060416211927.zip size=40137]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Test_20060416211927.zip[/file]
 

Pièces jointes

  • Test_20060416211927.zip
    39.2 KB · Affichages: 112
F

François (le débutant)

Guest
Bonjour gex1403, Luc, le forum,

J'ai regardé ton code mais j'ai un problème car je fonctionne avec 3 combobox.

Donc avec ces lignes :
Private Sub UserForm_Activate()
Me.ComboBox1.SetFocus
End Sub

J'essaie avec :
Private Sub UserForm_Activate()
Me.ComboBox2.SetFocus
End Sub
Private Sub UserForm_Activate()
Me.ComboBox3.SetFocus
End Sub

pour trouver la ligne de référence pour toutes les données en D,E,F,G,H,I,J,AG.

Comment faire avec mes 3 combobox ?

Merci beaucoup de ta patience.
 
F

François

Guest
Bonsoir gex1403, Luc, le forum,

Le but de mes 3 combobox est que ma base de données comprend plus de 5000 lignes. Donc en ayant des combobox discriminatoires (une seule occurence (pas de doublons)) me permets de sélectionner plus rapidement la donnée recherchée.

Merci beaucoup pour ton aide
 

Statistiques des forums

Discussions
312 347
Messages
2 087 500
Membres
103 563
dernier inscrit
samyezzehar