Filtrer une ListBox

Bonjour le Forum,

J’ai un petit problème concernant un filtre d'une ListBox, quand j'ouvre mon formulaire j'ai 97 produits dans la Listbox mais quand j’effectue une recherche filtre et que je reviens en arrière alors j'en ai plus que 91. De plus que je ne trouve pas les 6 premiers produits du filtre quand je les recherche avec le filtre. Il faut aller dans la feuille "BaseDeDonnées">Bouton "Recherche Produit", le code du filtre ce situe dans le "module1", en pièce jointe mon fichier Excel. Merci d'avance pour votre aide.

Cordialement.

Edit Modo : Données confidentielle dans bon de livraison et bon de commande

Re,

Je fais comment du coup si je peut pas envoyer mon fichier? en pv peut-être?

Bonjour Minkashi, bonjour le forum,

Je fais comment du coup si je peut pas envoyer mon fichier? en pv peut-être?

C'est tout simple mais demande un petit effort et c'est vrai que les demandeurs en font de moins en moins...

Tu nous envoies un fichier exemple reprenant la structure de ton fichier original mais en remplaçant les données confidentielles par des données bidons. Le Noms deviennent Nom1, Nom2, Nom3, etc. Idem pour les adresses etc... Après, si cet effort ne t'as pas littéralement tué et qu'il te reste un sursaut d'énergie, tu envoies ce fichier et... Voili, voilà...

Salut Thautheme,

Re,

Je fais comment du coup si je peut pas envoyer mon fichier? en pv peut-être?

Pour compléter le post de Thautheme, la charte du forum vous explique tout cela mais vous ne l'avez probablement pas lue --> https://forum.excel-pratique.com/excel/a-lire-avant-de-poster-charte-du-forum-et-informations-utiles...

Joignez (si possible) un fichier pour augmenter vos chances d'obtenir de l'aide en cliquant sur le bouton Fichier de l'éditeur. Si votre fichier est trop lourd ou contient des données personnelles, créez une version allégée de votre fichier avec juste assez d'informations pour permettre de comprendre votre problème. Dans tous les cas, ne postez JAMAIS de fichiers avec des informations personnelles ou confidentielles (cet utilitaire peut vous aider à les retirer).

Cordialement

Re bonjour,

Je vous envoie mon nouveau fichier en pièce jointe, merci encore pour votre aide.

Cldt

Bonjour le fil, bonjour le forum,

J’ai un petit problème concernant un filtre d'une ListBox, quand j'ouvre mon formulaire

Lequel ? Il y en a 13 dans ton fichier !... Je pense que je vais cesser de répondre à Minakashi qui ne fait aucun effort puisqu'il y a des imbéciles qui les font pour elle...

Re,

Mais ThauThème j'ai tout dit dans le premier poste...

"J’ai un petit problème concernant un filtre d'une ListBox, quand j'ouvre mon formulaire j'ai 97 produits dans la Listbox mais quand j’effectue une recherche filtre et que je reviens en arrière alors j'en ai plus que 91. De plus que je ne trouve pas les 6 premiers produits du filtre quand je les recherche avec le filtre. Il faut aller dans la feuille "BaseDeDonnées">Bouton "Recherche Produit", le code du filtre ce situe dans le "module1", en pièce jointe mon fichier Excel. Merci d'avance pour votre aide."

Cldt.

Voici le code en question:

Option Explicit
Private I As Integer, r(), T As String, Cl As Integer

Sub Afficher_List()
r = Feuil2.Range("A7:K" & Feuil2.[A1048576].End(xlUp).Row)
With FrmRecherche.ListBox1
    .ColumnWidths = "150;100;100;70;60;40;70;30;70;60;130"
    .ColumnCount = 11
    '.List = R'ligne répetée plus bas !
    For I = 1 To UBound(r)
        r(I, 9) = Format(r(I, 9), "dd/mm/yyyy") 'j'ai modifié ici tu avait marqué 4 au lieu de 9
    Next I
    .List = r
End With
FrmRecherche.TextBox2.Value = UBound(r) 'affiche le nombre de produits
End Sub

Sub Filtrer_List()
Dim j As Integer, Tbl(), k As Integer, Col As Integer

r = Feuil2.Range("A7:K" & Feuil2.[A1048576].End(xlUp).Row)
With FrmRecherche
    .ListBox1.Clear
    Col = .ComboBox1.ListIndex + 1
    T = .TextBox1.Value
    With .ListBox1
        For I = 7 To UBound(r)
            If UCase(Left(r(I, Col), Len(T))) = UCase(T) Then
                j = j + 1
                ReDim Preserve Tbl(1 To UBound(r, 2), 1 To j)
                For k = 1 To 11
                    Tbl(k, j) = r(I, k)
                    r(I, 9) = Format(r(I, 9), "dd/mm/yyyy")
                Next k
            End If
        Next I
        If j <> 0 Then .Column = Tbl Else .Clear
    End With
    .TextBox2.Value = j
End With
End Sub
Rechercher des sujets similaires à "filtrer listbox"