Filtre personnalisé: Qu'en pensez-vous?

skoobi

XLDnaute Barbatruc
Bonjour tout le monde :),

J’ai créé un filtre personnalisé inspiré du filtre automatique personnalisé d’Excel.
Les différences sont que ce « programme » permet d’avoir plus de 1000 valeurs dans la liste, d’en choisir plus de 2 et possibilité de récupérer le résultat sur une autre feuille.
Il est possible de filtrer jusqu’à 3 colonnes.
Les colonnes à filtrer ainsi que leurs nombres peuvent être changées facilement.
Le code peut être copié/collé sur un autre fichier.
2 feuilles supplémentaires sont créées:
La feuille « config » (qui est masquée)
La feuille « Tri » pour le résultat du filtrage
Utilisation :
1-Choix de 1 ou plusieurs critères dans la liste du haut
2-Choix de 1 ou plusieurs critères dans la liste du haut + menu déroulant du bas
3- menu déroulant du bas uniquement.

Je précise que ce fichier a été conçu avec Excel 2003.
Il contient environ 3000 lignes unique (pour avoir une idée du temps de création de la liste)
Plus besoin de s’emm….. si l’on possède Excel 2007 je pense…..

Qu’en pensez-vous ? (ajouts, améliorations, bugs, …..)

Je précise que je ne connais pas bien le filtre élaboré, donc il y surement des plus à apporter.

Edit: le fichier a été modifié, merci de voir la version 2 plus bas.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Filtre personnalisé: Qu'en pensez-vous?

Bonsoir skoobi

EDIT: C'est OK (je viens de comprendre le fonctionnement)

Sous Excel 2000, cela fonctionne après avoir fait ces modifications
Code:
Private Sub B_résultat_Click()
'copie le résultat dans la feuille "Tri"
[COLOR="Red"][B]Dim der_colonne As Long
Dim der_ligne As Long[/B][/COLOR]
der_colonne = Range("iv1").End(xlToLeft).Column
der_ligne = Range("a65536").End(xlUp).Row
Range(Cells(1, 1), Cells(der_ligne, der_colonne)).SpecialCells(xlCellTypeVisible).Copy Sheets("Tri").Range("a1")
Sheets("Tri").Activate
Range(Cells(1, 1), Cells(der_ligne, der_colonne)).Sort Key1:=Range("G2"), Order1:=xlAscending, Header:= _
xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom [B][COLOR="Red"]', _
'DataOption1:=xlSortNormal[/COLOR][/B]
Unload UserForm1
End Sub



Trés beau travail (à la lecture du code VBA)

car sous Excel 2000, ca ne fonctionne pas tel que
à cause du fameux
DataOption1:=xlSortNormal
edit: j'ai mis en commentaire --> OK

Encore bravo en tout cas

PS: Un autre bug :
Dans le code de l'userform
Il manque des Dim et comme tu as mis Option Explicit
VBE s'arrète sur ces lignes
der_colonne = Range("iv1").End(xlToLeft).Column
der_ligne = Range("a65536").End(xlUp).Row
 
Dernière édition:

skoobi

XLDnaute Barbatruc
Re : Filtre personnalisé: Qu'en pensez-vous?

Bonjour Staple1600,

merci pour ton analyse, j'ai modifié le fichier en conséquence.
Maintenant la version 2 est compatible Excel 2003 et 2000.

Si vous avez d'autre(s) remarque(s)....

Bonne après-midi à vous tous.

Gilbert :)

Edit: voir le message ci-dessous
 
Dernière édition:

skoobi

XLDnaute Barbatruc
Re : Filtre personnalisé: Qu'en pensez-vous?

Bonjour tout le monde,


La version 3 de ce fichier est disponible sur cette discution.
Il est maintenant possible d'avoir le tableau n'importe où sur la feuille (auparavant, il devait ce trouver en "A1:....").

Des remarques par rapport au filtre élaboré std?
C'est l'une des lacunes je pense.
 

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 333
Membres
103 519
dernier inscrit
Thomas_grc11