Filtrer des donnée par colonne dans ma listbox

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 !

creolia

XLDnaute Impliqué
Bonjour à tous

je Viens vers vous pour un probleme lier au filtrage de mes donnée par collone

Je m'explique.

J'ai une base de donnée avec 3 collone en A = Nom B=Service C=Formation

cette base de donnée alimente une listbox grace à ce code

Code:
Private Sub UserForm_Initialize()
Sheets("Feuil1").Select
Listbox1.ColumnCount = 6
Listbox1.ColumnWidths = "80;80;80"
Listbox1.List = Range("A1:C100").Value
End Sub

dans mon USF j'ai trois bouton

pour trier par nom par formation et service

c'est là que mon probleme surgit je sais pas du tout le faire.

ma question es comment filtré mes donnée dans la listview par formation nom et service .

j'ai mis un fichier joins qui charge avec le code la listbox mais aprés je sais pas comment faire.

pouvez vous m'aider svp merci d'avance
 

Pièces jointes

Re : Filtrer des donnée par colonne dans ma listbox

Bonjour robert et grand merci pour ta solution qui fonctionne super bien.

puis je abuser de ta gentilesse stp es ce possible si quand il y a plusieur dupond en nom un seul apparais
exemple

Code:
Dupont         service1        Formation3
                   service1       Formation4
                   Service1      formation6
Rita              Service2      Formation4

pour evité ceci moin lisible

Dupont                   service1       Formation3
Dupont                   service1       Formation4
Dupont                   Service1      formation6
Rita                        Service2      Formation4
merci d'avance
 
Re : Filtrer des donnée par colonne dans ma listbox

Bonjour le fil,
en attendant la réponse de Robert, peut-être en insérant dans la sub Tri entre next x et End with :
Code:
For x = .ListCount - 1 To 1 Step -1
    If .Column(0, x) = .Column(0, x - 1) Then .Column(0, x) = ""
Next x
A+
 
Re : Filtrer des donnée par colonne dans ma listbox

Bonjour david84 et merci pour ton aide vraiment genial je viens adapter le tous a mon projet et lors du filtrage le temps est extrement long presque 1 mn pour le trie des noms il est vais j'ai a peut prés 162 noms et 80 formation il y a t il un moyens de réduire le temps des différent trie svp merci
 
Re : Filtrer des donnée par colonne dans ma listbox

Re
Bonjour david84 et merci pour ton aide vraiment genial je viens adapter le tous a mon projet et lors du filtrage le temps est extrement long presque 1 mn pour le trie des noms il est vais j'ai a peut prés 162 noms et 80 formation il y a t il un moyens de réduire le temps des différent trie svp merci
Je pense que c'est le mode de tri prend beaucoup de temps. Personnellement, je serais plutôt passé par l'utilisation d'un Quick Sort dont la rapidité est bien meilleure sur de grandes plages.
Ci-joint un lien vers le site de JB qui te permettra d'en étudier le principe.
A+
 
Re : Filtrer des donnée par colonne dans ma listbox

Re
une autre façon de faire à partir d'une idée de JB.
Mais bon, il y a peut-être plus simple à comprendre pour toi et aussi performant (quand Hasco t'avait conseillé de faire fonctionner l'enregistreur de macro, je pense que c'était pour voir ce que tu pouvais faire en utilisant la méthode Sort).
Dis-nous ce qu'il en est en terme de rapidité.
A+
 

Pièces jointes

- 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

Discussions similaires

Retour