Ramener plusieurs lignes d'une autre feuille excel dans un userform

bastcam

XLDnaute Nouveau
Bonjour,

J'ai une première feuille excel qui comporte des informations diverses, la clé unique étant un matricule.
Matricule
Nom
Prénom


Je récupère ces informations dans un userform (la matricule dans un ComboBox et les autres champs dans des TextBox) auquel je voudrais ajouter les informations provenant d'une autre feuille excel :
Matricule
Contact
Téléphone

Il peut exister plusieurs lignes par matricule dans cette 2nde feuille.
Exemple :
Matricule Contact Téléphone
333 Toto 0607
333 Titi 0708

Quand je sélectionne le matricule dans le ComboBox (relié à la première feuille), je voudrais donc récupérer quelque chose comme ca :

Matricule : 333
Nom : Redford
Prénom : Robert

Contact Téléphone
Toto 0607
Titi 0708


Je pensais ajouter une ListBox avec plusieurs lignes mais pas moyen. Au mieux, j'arrive à récupérer une ligne mais pas la totalité.
Quelqu'un aurait une idée ?

Je vous remercie par avance
bastcam
 

Paf

XLDnaute Barbatruc
Re : Ramener plusieurs lignes d'une autre feuille excel dans un userform

Bonjour

Je pensais ajouter une ListBox avec plusieurs lignes mais pas moyen. Au mieux, j'arrive à récupérer une ligne mais pas la totalité.
Quelqu'un aurait une idée ?

L'idée serait de mettre un code adapté ! Mais sans éléments concrets : pas évident !
Joignez un classeur "anonymisé" ,et s'il comporte plusieurs Userforms et Feuilles, quelques indications .

A+
 

bastcam

XLDnaute Nouveau
Re : Ramener plusieurs lignes d'une autre feuille excel dans un userform

Bonjour,

Je joins le fichier xls.

Mon problème est de ne pas réussir à ramener les lignes de l'onglet "recap2" dans la listbox1.
Elles sont ramenées mais je voudrais ramener uniquement les lignes correspondant au matricule sélectionné (ComboBox1 ou TextBox1). La difficulté (pour moi en tous cas) est qu'il peut exister plusieurs lignes en "recap2" pour un même matricule.

Merci beaucoup... J'ai beau chercher, je ne trouve pas !
 

Pièces jointes

  • formulaire_ano.xls
    71 KB · Affichages: 31

Paf

XLDnaute Barbatruc
Re : Ramener plusieurs lignes d'une autre feuille excel dans un userform

re
Une façon de procéder:
en fin de Private Sub ComboBox1_Change(), rajouter ce code

Code:
    Dim Derlig As Long
    ListBox1.Clear 'efface les données de listbox1
    With Worksheets("recap2")
        Derlig = .Range("A" & Rows.Count).End(xlUp).Row 'dernière ligne de la recap2( évite de tester des lignes vides)
        ListBox1.ColumnCount = 3
        ListBox1.ColumnWidths = "30;30;30" ' largeur des colonnes
        For i = 2 To Derlig 'de la premiere ligne valide à la derniere
            If .Cells(i, 1) = Val(ComboBox1.Value) Then ' si le matricule identique celui selectionné
                ListBox1.AddItem .Cells(i, 1) 'ajout des éléments dans la listbox
                ListBox1.List(ListBox1.ListCount - 1, 1) = .Cells(i, 2)
                ListBox1.List(ListBox1.ListCount - 1, 2) = .Cells(i, 3)
            End If
        Next
    End With

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 683
Messages
2 090 905
Membres
104 693
dernier inscrit
azizou900