VBA filtrer des donnees

Bonjour

Je poste ce message pour savoir si vous pouvez m'aider.

En pj, j'ai un fichier de données sur lequel j'ai un userform qui me permet de faire des filtres sur certains critères.

J'aimerais améliorer ce premier essai que j'avais fait pour avoir la même chose que ce qu'il y a dans ce second fichier.

26findrecherche.xlsm (171.19 Ko)

Merci beaucoup de votre aide

cordialement

Bonjour

Un essai à tester. Te convient-il ?

Bonjour gmb

Merci beaucoup pour ta réponse, ça m'a l'air bien et c'est exactement ça que je voulais. Mais peux-tu me dire comment faire pour que les en-têtes ne disparaissent pas quand on clique sur le bouton 'Filtre'.

Et pour que je puisse reproduire la même chose et apprendre, est-ce que tu peux m'expliquer comment tu as fait pour :

  • mettre la zone de saisie en A3,
  • la zone de restitution en C3,
  • les différents boutons
  • et comment retirer l'ancien bouton FILTRER (j'ai essayé de l'enlever mais je n'y arrive pas)

Merci beaucoup pour ton aide (j'ai besoin de refaire cet exemple pour bien l'assimiler)

clacha a écrit :

Mais peux-tu me dire comment faire pour que les en-têtes ne disparaissent pas quand on clique sur le bouton 'Filtre'.

Si elles disparaissent, c'est parce qu’il traine en H4 un résidu indésirable de mes essais. Mea culpa !

Quand on définit : [A5].CurrentRegion, on définit l’ensemble du tableau qui contient la cellule A5.

Et s’il y a quelque chose au-dessus en ligne 4, une partie de la ligne 4 en fait partie.

comment tu as fait pour :

- mettre la zone de saisie en A3,

La zone de saisie n’est pas en A3, elle est dans un ‘’Contrôle ActiveX’ que j’ai copié dans le fichier que tu as donné comme exemple, et collé dans ton fichier avec son code (qui n’est pas de moi …). Pareil pour les autres contrôles comme le bouton ‘’Ok’’, la listbox, le bouton ‘’filtre’’, le bouton ’’Filtre’’, le bouton ‘’Tout’’ et le bouton ‘’Copie’’.

Tu vois, mon travail n’a pas été bien compliqué : du copier - coller

Ah si ! pour que le bouton ‘’Copie’’ puisse marcher, j’ai dû créer sur ton fichier une feuille et la nommer ‘’Result’’ comme sur le fichier modèle….

et comment retirer l'ancien bouton FILTRER

Il suffit d’ouvrir l’onglet ‘’Développement’’, dans le bandeau, puis de cliquer sur le bouton ‘’Mode création’’ et de le sélectionner en cliquant dessus. Tu peux alors le supprimer comme un objet sélectionné …

OK ?

A ta disposition pour répondre à d’autres questions !

Bye !

Merci beaucoup, c'est super sympa d'avoir pris le temps de m'expliquer tout ça car je suis encore débutante en vba.

Je vais reproduire ce cas avec tes explications.

Dès que j'aurai fini, je te tiens au courant.

merci encore !

bonne soirée

Bonsoir gmb

Bon ça y est, j'y suis arrivée à recréer la textbox1, la listbox1 et les boutons et ça fonctionne ! Mais j'ai quand même encore besoin de ton aide pour la textbox1, la listbox1.

En effet, j'aimerais réinitialiser ces deux objets quand on clique sur le bouton "TOUT". Concrètement, il faut :

  • remettre à blanc à l'intérieur de la textbox1 et de la listbox1
  • enlever la couleur rouge sur les cellules concernées dans le tableau
  • retirer le filtre (c'est déjà le cas actuellement)

Pour la textbox1, j'ai trouvé et j'ai mis ceci à la fin du b TextBox1.Value = "" et ça marche mais pour la la listbox1 c'est plus compliqué car il y a deux colonnes à l'intérieur et je n'y arrive pas.

Merci pour ton aide

bien cordialement

Bonjour

Tu écris :

, j'aimerais réinitialiser ces deux objets quand on clique sur le bouton "TOUT".

Ajoute les instructions correspondantes au code du bouton ''Tout'' :

Private Sub B_tout_Click()

  Application.ScreenUpdating = False
  Set f = ActiveSheet
  Set plage = f.[A5].CurrentRegion
  plage.Rows.Hidden = False
  TextBox1 = ""
  ListBox1.Clear
  plage.Interior.ColorIndex = 2
End Sub

Et le tour sera joué !

OK ?

Bye !

ok j'ai trouvé entretemps en cherchant un peu

merci pour ton aide

à bientôt

Désolée, j'espère que je te dérange pas car j'ai une dernière question.

Comment je peux modifier le code, si je veux faire une recherche multi-critères dans la TextBox1.

Les critères de recherche pouvant être variables en fonction de ce que saisit chaque utilisateur.

  • contrat + fournisseur
  • fournisseur + code article
  • fournisseur + une partie de la désignation des articles
etc ...

merci beaucoup pour ton aide

Bonjour

Nouvel essai à tester.

Bye !

Merci beaucoup, je regarde ton retour.

Cela m'a l'air complexe pour reproduire...

Bien cordialement

Bonne soirée

Rechercher des sujets similaires à "vba filtrer donnees"