Listbox+filtre...

Y compris Power BI, Power Query et toute autre question en lien avec Excel
s
sad006
Jeune membre
Jeune membre
Messages : 47
Inscrit le : 20 avril 2017
Version d'Excel : 2010

Message par sad006 » 12 avril 2019, 11:47

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...
test.xlsm
(459.09 Kio) Téléchargé 8 fois
T
Theze
Passionné d'Excel
Passionné d'Excel
Messages : 4'020
Appréciations reçues : 305
Inscrit le : 26 janvier 2011
Version d'Excel : 2007/2019

Message par Theze » 12 avril 2019, 15:07

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
Il vaut mieux un qui sait que cent qui cherchent :wink:

Ce forum étant un lieu de partage, je n'accepte pas les messages privés !
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message
  • Filtre listbox
    par MARK_TK » 12 janvier 2016, 23:53 » dans Excel - VBA
    2 Réponses
    566 Vues
    Dernier message par MARK_TK
    13 janvier 2016, 19:49
  • ListBox + filtre
    par zeweb » 10 octobre 2018, 00:00 » dans Excel - VBA
    21 Réponses
    319 Vues
    Dernier message par zeweb
    11 octobre 2018, 17:33
  • Filtre ListBox
    par Bandit » 28 octobre 2018, 10:51 » dans Excel - VBA
    7 Réponses
    147 Vues
    Dernier message par CORDIA5
    29 octobre 2018, 08:23
  • filtre listbox
    par JPH » 15 mai 2016, 20:02 » dans Excel - VBA
    2 Réponses
    192 Vues
    Dernier message par JPH
    15 mai 2016, 22:08
  • Limitation de filtre sur Listbox
    par keLox » 21 février 2017, 21:12 » dans Excel - VBA
    1 Réponses
    102 Vues
    Dernier message par MFerrand
    21 février 2017, 23:39
  • Filtre Listbox avec Combobox
    par patsw » 14 décembre 2017, 09:58 » dans Excel - VBA
    2 Réponses
    719 Vues
    Dernier message par patsw
    15 décembre 2017, 16:48