Remplir des listbox suite à un combobox

  • Initiateur de la discussion Initiateur de la discussion Luc
  • Date de début Date de début

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 !

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

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.
 
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
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
184
Réponses
5
Affichages
418
Réponses
37
Affichages
1 K
Réponses
1
Affichages
310
Retour