Données filtrées vers ListBox

Bonjour,

Malgré mes recherches et quelques posts sur le sujets, je ne suis pas parvenu à trouver une solution à mon problème.

Ma feuille "F3" comprend une liste d'éléments sur 9 colonnes.

Je cherche à filtrer les données par rapport à un critère défini, et à intégrer les lignes filtrées (et visibles de cette même feuille) dans ma listbox2.

Le code ci-dessous affiche :

  • uniquement la première ligne lorsque des données répondent au critère : je les voudrais toutes.
  • la ligne d'entête lorsqu'aucune données ne répond au critère : rien ne devrait s'afficher.

With F3.Range("A1:I2500")

.AutoFilter

.AutoFilter Field:=7, Criteria1:=nom_prestataire

DerLigne3 = F3.Range("A65536").End(xlUp).Row

TheData2 = F3.Range("B2:G" & DerLigne3).SpecialCells(xlCellTypeVisible).Value

With Me.ListBox2

.ColumnCount = 5

.ColumnWidths = "70;60;70;70;30"

.List = TheData2

End With

End With

Quelle erreur ai-je pu faire ?

De plus, une colonne concerne une valeur.

Est-il possible de récupérer dans une variable la somme de l'ensemble des valeurs après filtre ?

Merci pour votre aide.

Bonjour Stéphane.

J'ai déjà eu ce moment problème. En effet je ne parvenais pas à récupérer une sélection filtrée dans ma ListBox.

Pour contrer le problème j'ai filtré directement sur la ListBox au moyen de Combobox et TextBox.

Je ne sais pas si tu parles d'une ListBox dans un UserForm ou directement dans la feuille.

Si tu peux joindre un fichier exemple, sans données confidentielles.

Bonjour thebenoit57,

Oui, il s'agit d'une listbox dans un Userform.

J'ai mis en place le code suivant qui fonctionne :

k = 0

Me.ListBox2.Clear

With Me.ListBox2

.ColumnCount = 5

.ColumnWidths = "20;50;110;100;25"

For I = 3 To F3.[G65000].End(xlUp).Row

If F3.Cells(I, 7) Like nom_prestataire Then

Me.ListBox2.AddItem

Me.ListBox2.List(k, 0) = F3.Cells(I, 2)

Me.ListBox2.List(k, 1) = F3.Cells(I, 3)

Me.ListBox2.List(k, 2) = F3.Cells(I, 4)

Me.ListBox2.List(k, 3) = F3.Cells(I, 5)

Me.ListBox2.List(k, 4) = F3.Cells(I, 6)

k = k + 1

End If

Next I

End With

Pour la somme, j'ai fait un filtre et j'ai récupéré le sous-total.

Merci quand même.

Sur un tableau important ton système va sans aucun doute mettre du temps à se mettre en place.

Peux-tu joindre un fichier je te posterai une solution plus rapide.

Bonjour,

Il ne devrait pas y avoir plus d'une 100aine de lignes... ça va le faire.

Merci quand même.

Cordialement.

Rechercher des sujets similaires à "donnees filtrees listbox"