alimenter une listbox avec données filtrées

  • Initiateur de la discussion Initiateur de la discussion casefayere
  • 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 !

C

casefayere

Guest
Bonsoir,

Je cherche à alimenter une listbox en fonction d'une feuille avec des données filtrées sur une colonne. Les cellules doivent contenir (ex : *haricot*)

pas de problème pour créer le filtre avec vba mais je n'arrive pas à creer la listbox avec les données filtrées

merci de vos réponses

a+
 
Re : alimenter une listbox avec données filtrées

Bonjour Casafayere, Mathieu

essaye comme ci dessous, en supposant que ta colonne filtrée soit la A :

Code:
ListBox1.List = Range("A2:A" & Range("A65536").End(xlUp).Row).SpecialCells(xlCellTypeVisible).Value

ou avec une boucle :

Code:
Dim c As Range
For Each c In Range("A2:A" & Range("A65536").End(xlUp).Row).SpecialCells(xlCellTypeVisible)
    ListBox1.AddItem c.Value
Next c

bonne journée.
@+
 
Re : alimenter une listbox avec données filtrées

Bonsoir,

Excusez pour le retard mais j'ai trouvé ma solution entre temps :
Code:
Private Sub produitfiltre()
Dim Plage As Range, Cel As Range
Dim produit
Dim ERREUR
  With Sheets("feuil1")
  If .AutoFilterMode Then 'vérifie si le filtre automatique est actif et
     .AutoFilterMode = False 'l'enlève
End If
 
    produit = TextBoxproduitcherche 'valeur entrée dans un textbox pour alimenter le filtre
    ERREUR = .Range("a2").End(xlDown).Offset(0, 0).Row 'variable donnant le n° de la dernière lg à filtrer
    
    .Range("c2").AutoFilter
    .Range("c2").AutoFilter Field:=3, Criteria1:="*" & produit & "*" 'applique le filtre
    Set Plage = .Range("g2", .Range("g2").End(xlDown))
    Set Plage = Plage.Cells.SpecialCells(xlCellTypeVisible) 'tableau avec données filtrées
    
    If Plage.Count > ERREUR Then 'eviter de renvoyer une erreur ou un bug
    If .AutoFilterMode Then
     .AutoFilterMode = False
    Exit Sub 'pour un filtre non trouvé
    End If
    ListBoxPRODUITS.Clear 'vide la listbox
    For Each Cel In Plage 'et la réalimente
    With ListBoxPRODUITS
      .AddItem Cel(1, -3)
      .Column(1, .ListCount - 1) = Format(Cel(1, -2), "#,##0.00 €")' format a changer suivant besoin
      .Column(2, .ListCount - 1) = Format(Cel(1, 0), "#,##0.00 €")' format a changer suivant besoin
 
      .Column(3, .ListCount - 1) = Format(Cel(1, 4), "#,##0.00 €")' format a changer suivant besoin
 
      .Column(4, .ListCount - 1) = Format(Cel(1, 5), "###0")' format a changer suivant besoin
 
      .Column(5, .ListCount - 1) = Cel(1, 1)
    End With
        
    Next Cel
Selection.AutoFilter 'enlève le filtre de la feuille
  End With
End Sub

Merci quand même

a+
 
- 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
14
Affichages
484
Retour