Filtrer un tableau dans une userform

  • Initiateur de la discussion Mickaël
  • Date de début
M

Mickaël

Guest
Bonjour le forum.

Voila, j'ai un petit problem qui apres recherche sur ce forum ne trouve toujours pas reponse.

Alors j'ai un tableu avec 2 colonnes A et B

La colonne A ne contien des données unique.

La colonne B contien des noms qui peuvent ce repeter sur plusieures lignes.

La facilitée aurait voulus que je recherche par la colonne A mais comme rien n'est jamais simple il me faut recherche par la colonne B.

La difficulté c'est que dans ma listbox j'obtiens par exemple 15 fois le meme nom a la suite.

Est-il possible de filtrer cette listbox?

Merci beaucoup pour votre aide.
 
@

@+Thierry

Guest
=> DEMO UserForm AutoFilter on méthode New Collection Objet...

Bonjour Mickaël et Hurricane et le Forum

Et ben dis-donc Hurricane, les portes du Forum vont être trop petites pour ma grosse tête !!! lol

Non je ne suis pas encore arrivé à la Cheville de Monsieur J.Walk, ni même au Tibia de Ti, ni au STomac de STéph...

En fait nous somme tous et toutes des J.Walk en puissance dans ce Forum... Et ce que nous découvrons nous le fesons découvrir aux autres... On se corrige mutuellement, et on partage tout...

Donc Hurricane, mis à part ton gentil post, tu as aussi fait un truc très interessant avec ta méthode de New Collection d'Objets pour alimenter une ComboBox sans doublons de données... Je ne sais pas si c'est 200% Catholique mais ça à l'air de bien fonctionner.

J'ai donc fait une petite démo en complétant les demandes de Mickaël (fonction Left, pour lancer la recherche) et en corrigeant/commentant ta macro d'origine Hurricane (voir module UserForm1)

Voilà je pense que vous serez tous les deux très contents car moi aussi :)

Bon aprèm
@+Thierry


PS j'ai été dans l'impossibilité de me connecté au site depuis hier soir... Là je suis au bureau ça à l'air passer, mais de chez moi c'était encore impossible ce matin.
 

Pièces jointes

  • USF-AutoFilter-Collection.zip
    20.2 KB · Affichages: 38
H

hurricane

Guest
Re: => DEMO UserForm AutoFilter on méthode New Collection Objet...

salut @+thierry et le forum

J’ai mis en application toutes les recommandations que tu m'as données il y a plusieurs semaines. Je vois qu'il me reste pas mal de boulot car je n'avais pas réussi à faire la fonction left pour lancer la recherche

merci pour "un truc très intéressant avec ta méthode de New Collection d'Objets " crois moi j'y ai passé des nuits

@+ hurricane
 
M

Mickaël

Guest
Au fait je voudrai pas abuser car c'est vraiment bien.

Enfin moi je fait que demander la c'est clair.*

Bon alors en fait j'ai plus de 15000 ligne dans mon tableau et ce que tu as fait c'est cool mais à chaque lettre entrée dans la textbox bien c'est un peu long.

Alors te serait-il possible de ne pas charger toute la liste au depart de la userform, mais seulement quand la premiere lettre à ete entrer.

Enfin bon voila.

A+
 
@

@+Thierry

Guest
=> DEMO UserForm AutoFilter on méthode New Collection Objet VII

Bonsoir Mickaël, Hurricane et le Forum

Oui je me doute Mickaël que ce doit être long si tu fais ceci sur 15000 lignes...

Donc je t'ai préparé une nouvelle version qui ne génère plus de données dans la ListBox1 à l'initialisation du UserForm ainsi que divers petits trucs...

Comme par exemple un bouton "Run" pour ne lancer l'incrémentation de la LIstBox1 qu'à volonté et plus à chaque changement dans la TextBox...

Je procède aussi directement sur l'AutoFilter pour remplir cette ListBox1 par un Filtre sur la Feuille à partir des premières lettres entrée en TextBox... (moins de données à traiter sur la Collection d'Hurricane)

J'espère que çà ira un peu plus vite... Tu nous diras...

Bonne Soirée
@+Thierry
 

Pièces jointes

  • USF-AutoFilter-Collection.02.00.zip
    18.8 KB · Affichages: 43
M

Mickaël

Guest
Re: => DEMO UserForm AutoFilter on méthode New Collection Objet VII

La tu vois c'est vraiment super rapide.

Bon rien a dire. Tu vois maintenant je vais passer des semaines sur le code je pense que j'en sortirai moin bête.

C'est genial.

En tous cas un gros merci à
hurricane pour son aide precieuse sa pratique COLLECTION c'est terrible.
et à toi MONSIEUR @+Thierry.

A+ sur le forum
 
@

@+Thierry

Guest
Re: => DEMO UserForm AutoFilter on méthode New Collection Objet VII

Hello les gars,

Heureux du bon dénouement de ce fil !!

Youpi c'est Vendredi !!! (TGF)

@+Thierry


PS c'est quoi ce "H" ?
 
M

Mickaël

Guest
Re: => DEMO UserForm AutoFilter on méthode New Collection Objet VII

Bon voila,

Aprés quelques heures de recherche sur le code je comprend mieux comment ca fonctionne.

Bon maintenant je l'ai un peu modifier pour mon utilisation mais je me permet quand meme de revenir a la charge avec LA QUESTION DU JOUR!!!!

lol

Voila en fait mon tableau contien plusieurs colonnes et en fonction de la selection effectuer j'aimerai mettre a jour des labels.

en substance ca donnerai ca.


Dim i As Integer
i = ListBox1.ListIndex

Label4 = Sheets("Feuil1").Range("K" & i)
Label5 = Sheets("Feuil1").Range("L" & i)
Label6 = Sheets("Feuil1").Range("M" & i)
Label7 = Sheets("Feuil1").Range("N" & i)

Alors ca fonctionne sans fonctionner a savoir ca prend le numero d'index de la listbox.

Or je pense que je devrai utiliser le numero de la ligne dans mon tableau non?

merci le forum.

a+
 
M

Mickaël

Guest
En fait c'est pareil.

i = ListBox1.ListIndex

et les données de mes label sont en fonction i

ex:

si i = 2

alors j'ai les données de de la ligne numero 2 du tableau alors que ma selection est sur la ligne 56

2 etant le numero de ligne dans la listbox et 56 le numero reel de la ligne dans le tableau.

en fait il faut que je puisse retrouver 56

a+
 
@

@+Thierry

Guest
Re: => DEMO UserForm AutoFilter on méthode New Collection Objet VII

Bonjour Mickaël, Hurricane, le Forum

Et oui... tu expliques toi même ton problème Mickaël, il est certain que ListIndex ne risque pas de retourner 54, si l'Item sélectionné en en seconde position de la ListBox... LaPalisse ne dirait pas mieux !!!

C'est le revers de la médaille pour la méthode New Collection....

Car ton problème vient de là, car jusqu'à présent à aucun moment tu n'a précisé que tu voulais travaillé en plus de deux colonnes...

Post Numéro 1 :
La colonne A ne contient des données unique.
La colonne B contient des noms qui peuvent ce repeter sur plusieures lignes.


Il est vraiment dommage d'arriver au 24em post avec une minie appli casiment finie... pour savoir que tu travailles aussi sur les colonnes K, L, M et N ...

Maintenant, c'est vraiment différent... Plus rien n'est bon... Faut tout refaire... Surtout que tu travailles sur 15000 lignes... Sinon on aurait encore plus faire tourner une boucle sur la plage pour retrouver le numéro de la ligne... Mais là tu vas pouvoir aller boire le café à chaque click sur la listbox...

Bon je vais faire un test, et je repasserai par là...

@+Thierry

PS : ici, une fois de plus un exemple flagrant de cet éternel fossé entre les utilisateurs et les développeurs....
 
H

hurricane

Guest
Re: => DEMO UserForm AutoFilter on méthode New Collection Objet VII

Re bonjour

je vais te passer mon code en entier essai de le modifier pour qu'il fonctionne chez toi mieux je te passse le fichier complet attend quelques minutes que je modifie les données

@+hurricane
 
H

hurricane

Guest
Re: => DEMO UserForm AutoFilter on méthode New Collection Objet VII

me revoila voici le fichier il reste 50 lignes pour toi bien te rendre compte
a toi de le modifier pour que sa fonction
comme tu peux le voir sa fonctionne sur plusieurs colonnes

de plus j'ai elever une feuille pour pouvoir te le passer donc ne touche pas au bouton validation par contre regarde dans la macro car la fonction du bouton permet de prendre les données du usf et de les copiées dans une feuille

@++
 

Pièces jointes

  • pieces.zip
    46.1 KB · Affichages: 26
  • pieces.zip
    46.1 KB · Affichages: 29
  • pieces.zip
    46.1 KB · Affichages: 29

Discussions similaires

Statistiques des forums

Discussions
314 656
Messages
2 111 613
Membres
111 225
dernier inscrit
arnaud3110