Listbox+filtre

Bonjour a tous,

je sais que la question à deja etait posée mais j'arrive pas à addapter les codes et mon ignorance en VBA me limite beucoup...

Dans le fichier ci-joint(mdp = test)

dans l'userform " Recherche" il y a une listebox (liste de la feuille liste_complete) et je voudrais que dans cette list il s'affiche que les colonne C,H et Q

et filtrer et afficher que les "alesometre" (col C) en cliquant sur le bouton "alesometre"

Ca fait une semaine que je cherche sans succés...

en esperant avoir etait assez clair....

MErci d'avance pour votre aide...

12test.xlsm (459.09 Ko)

Bonjour,

Une piste :

Private Sub UserForm_Activate()

    Dim Fe As Worksheet
    Dim Plage As Range
    Dim cel As Range
    Dim Critere As String

    Set Fe = Worksheets("Liste_complete")
    Critere = "Alesometre"
    Set Plage = DefPlage(Fe, 1, 1)

    ListBox2.ColumnCount = 3
    ListBox2.ColumnWidths = "100;100;100"

    With Fe

        Plage.AutoFilter 3, "=" & Critere

        For Each cel In .AutoFilter.Range.Columns(3).Cells.SpecialCells(xlCellTypeVisible)

            ListBox2.AddItem cel.Value
            ListBox2.Column(1, I) = cel.Offset(, 5).Value
            ListBox2.Column(2, I) = cel.Offset(, 14).Value
            I = I + 1

        Next cel

        Plage.AutoFilter

    End With

End Sub

Function DefPlage(Fe As Worksheet, Optional L As Long = 1, Optional C As Long = 1) As Range

    On Error GoTo Fin

    With Fe

        Set DefPlage = .Range(.Cells(L, C), _
                       .Cells(.Cells.Find("*", .[A1], -4123, , _
                       1, 2).Row, .Cells.Find("*", .[A1], -4123, , _
                       2, 2).Column))

    End With

    Exit Function

Fin:

    Set DefPlage = Nothing

End Function
Rechercher des sujets similaires à "listbox filtre"