3 pièce(s) jointe(s)
Filtrer les valeurs d'une ListBox (issues d'une feuiles excel) dans un UserForm
Bonjour à tous et merci à tous pour votre aide !
J'ai un tableau Excel inséré dans un UserForm à l'aide d'un ListBox.
Je cherche à ajouter un filtre dans la ListBox afin de n'afficher que les valeurs qui contiennent par exemple "325" choisie dans un TextBox.
A terme je souhaite sélectionner une des lignes dans ce ListBox et mettre en gras la ligne correspondante dans la feuille "Essai". Cela ressemble à ça :
Pièce jointe 428344
Pièce jointe 428346
Je me suis basé sur le code que j'ai trouvé sur cette discussion sur le forum qui m'a beaucoup aidé : Insérer un tableau excel dans un UserForm
(Merci à eux).
Avez vous des pistes pour pouvoir filtrer ma ListBox ?
J'ai ajouté le fichier Excel en PJ.
Merci d'avance pour votre aide.
Axel
PS :
Voila le code source :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| Private Sub CommandButton1_Click()
With ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) = True Then mess = mess & i + 1 + 1 & vbCrLf ' tu peut mettre 2 bien entendu
Next
End With
MsgBox mess
End Sub
Private Sub ListBox1_Click()
MsgBox ListBox1.ListIndex
End Sub
Private Sub UserForm_Activate()
Dim plage As Range, i As Long, large
With Sheets("Essai")
Set plage = .Range("A1").CurrentRegion.Offset(1, 0)
For i = 1 To plage.Columns.Count: large = large & ";" & Round(plage.Columns(i).Width): Next ' on capture la largeur des colonnes
large = Mid(large, 2, 200)
With Me.ListBox1
.RowSource = plage.Address
.ColumnHeads = True
.ColumnWidths = large
.ColumnCount = plage.Columns.Count
.ListStyle = 1
.MultiSelect = 1
End With
End With
End Sub |