Rechercher dans un tableau

Bonjour,

j'ai un code ici qui me permet de faire une recherche par mot-clef dans un tableau.

Ce code fonctionne très bien, mais il limite la recherche aux valeurs présentent dans la colonne D.

Je souhaiterai améliorer ce code, pour que la recherche du mot-clef saisi se fasse dans l'ensemble du tableau.

A priori j'ai cru comprendre que je devrais utiliser la fonction "concatener", mais je ne sais pas m'en servir (aussi j'ai la version 2016 de Office).

Qu'en pensez-vous ?

Private Sub TbxProduit_Change()
    If TbxProduit.Text = "" Then
        ActiveSheet.ListObjects("Tableau15").Range.AutoFilter Field:=4
    Else
        ActiveSheet.ListObjects("Tableau15").Range.AutoFilter Field:=4, Criteria1:="=*" & TbxProduit.Text & "*", Operator:=xlAnd
    End If
End Sub

Bonjour Samzou974, le forum,

Un exemple de filtre sur place.....sans textbox....

Tu inscris ton critère (ou une partie du critère) dans une cellule en ligne 2, pour revenir à l'affichage complet, tu efface ton critère.

Tu as une erreur sur cette ligne :

Columns("F").Hidden = Flase

, petite faute de frappe, : false

Cordialement,

Bonjour

Bonjour à touss

Une variante.

Bye !

Bonjour gmb,

Ta proposition est très intéressante , cependant, sauf erreur de ma part, il faut taper l'intégralité du critère, pour qu'il soit actif, il ne tient pas compte d'une saisie partielle ?

Il ne fonctionne pas non plus avec la date, problème de format ?

Cordialement,

Bonjour xorsankukai

Une nouvelle version qui tient compte de tes remarques.

A noter que pour les dates, il faut saisir dans le format que l'on recherche : si on recherche le "28 janvier 2019" et que l'on saisit "28/01/2019", on passera à coté...

Bye !

Merci à tous les 2 !

gmb ta proposition correspond plus à mes attentes.

Ceci dit je m'aperçois que si je tape un "N°_COMMANDE", la recherche ne fonctionne pas.

Aussi j'aurai aimé que le filtre "lignes vertes masquées" (ToggleButton2) soit activé lors de la recherche.

Je ne veux pas voir apparaître les produits en vert lors de la recherche.

Par exemple, lorsque je fais une recherche de "41", il ne devrais y avoir que 2 résultats :

  • cartouche magenta 551 XL
  • cartouche jaune 551 XL
à ce moment là si je clique sur le ToggleButton2 devraient apparaître également les résultats en vert :
  • rebilda blanc
  • protapergold f3 25mm (bleu)
  • protapergold f2 25mm
  • protapergold f2 21mm
  • rouleau scotch 19x33mm

Je ne sais pas si je me suis bien exprimé.. ceci dit c'est presque parfait merci beaucoup !

Re,

Merci gmb pour ce retour très instructif

Mais le souci persiste au niveau des dates, du moins sur mon excel,

Le cas se révèle en fait plus complexe qu'il n'y parait , il est vrai que ton code autorise une saisie partielle du critère mais fausse complètement le résultat puisque si une colonne contient une partie du critère, elles reste affichée,

Disons que tu veuilles filtrer sur "Commande passée par", tu tapes JOSIANE, tu remarqueras qu'on ne filtre pas grand chose puisqu’elle apparait dans la colonne "Observations".

De même, si tu veux filtrer par "Quantité" et que tu tapes 1 par exemple.

N° de commande: je tapes 107, rien ne s'affiche.

Je n'ai peut-être pas compris la demande où elle n'est pas réalisable de cette manière,

Où alors il faut préciser sur quelle colonne on agit ?

Merci pour tes propositions qui me permettent de continuer à progresser,

Amitiés,

Si ça peut simplifier les choses, au lieu de faire une recherche sur l'intégralité du tableau,

on pourrait limiter la recherche aux colonnes D, E, H et N.

En réalité seules les données de ces colonnes sont intéressantes pour la recherche.

Nouvelle version à tester.

En plus des 4 colonnes indiquées, j'ai ajouté la colonne des dates de commande, pour le plaisir...

Bye !

Bonjour gmb, Samzou974,

J'ai testé ta nouvelle proposition:

  • Pour la date, c'est nickel,
  • Pour le reste, toujours le même souci (du moins sur mon excel), ça ne fonctionne pas correctement,

Fais le test avec par exemple :rame; Composite; SYNERGY, GIE, 929, je n'obtiens pas le filtrage voulu.

Peut-être que Samzou974 obtiendra des résultats différents,

Bravo pour ta persévérance,

Cordialement,

Bonjour à tous

Pour le reste, toujours le même souci

En testant avec tes exemples, j'ai découvert un bug dans la macro.

Il est corrigé dans cette nouvelle version.

Peut-être marchera-t-elle enfin correctement ?

Bye !

xorsankukai et gmb, vous êtes des acharnés !!

Personnellement j'avais déjà baissé les bras et mis en place une alternative !!

Heureux de constater que vous y êtes arrivés !

C'est beau.

Bonne journée à tous les deux !

Bonjour Samzou974, gmb,

xorsankukai et gmb, vous êtes des acharnés !!

Personnellement j'avais déjà baissé les bras et mis en place une alternative !!

gmb est un acharné, je me suis contenté de tester ses propositions , , tout le mérite lui revient.

Perso, j'ai également abandonné....

Heureux de constater que vous y êtes arrivés !

Malheureusement, le résultat n'est pas celui escompté (du moins sur mon pc).

Encore merci à gmb pour ses efforts et sa persévérance.

Cordialement,

Bonjour

Merci à vous deux et merci pour ces éloges mais je n'ai pas grand mérite : je déteste rester sur un échec...

Alors, j'insiste !

Bye !

Re,

je déteste rester sur un échec

C'est tout à ton honneur, mais je persiste à croire que la demande n'est pas réalisable du moins sans sélectionner au préalable la colonne à filtrer,

J'attends donc que tu me démontre le contraire,

@+

je persiste à croire que la demande n'est pas réalisable du moins sans sélectionner au préalable la colonne à filtrer,

Désolé mais je ne comprends pas.

J'ai dû zappé quelque chose...

Par ailleurs, on ne va pas y passer le réveillon, surtout si Samzou974 a "mis en place une alternative".

J'en resterai donc là .

Insistance : oui ; Acharnement : peut-être ; Obsession : non.

Bye !

Bye !

Re,

Désolé mais je ne comprends pas.

Ma proposition concernait un filtre sur place....mais elle n'a pas été retenue.

Ce que j' ai compris de la demande, c'est qu'il souhaite un peu la même chose mais en utilisant une seule Textbox.

Je suis certainement dans l'erreur, désolé si je t'ai aiguillé sur une fausse piste,

Mais rassure-toi, tu n'as pas bossé inutilement, tes propositions me permettent d'avancer dans mon apprentissage du vba,

Par ailleurs, on ne va pas y passer le réveillon, surtout si Samzou974 a "mis en place une alternative".

alternative qu'il ne partage pas, dommage,

A bientôt,

Amitiés,

Je découvre vos messages avec un peu de retard !

Ce que j' ai compris de la demande, c'est qu'il souhaite un peu la même chose mais en utilisant une seule Textbox.

Oui tu avais bien compris ma demande =)

alternative qu'il ne partage pas, dommage

Pour ce qui est de mon "alternative", elle est plutôt d'ordre organisationnelle au sein de mon équipe de travail !

Ce n'est pas une alternative VBA

Merci encore à tous les deux !!

Sam

Rechercher des sujets similaires à "rechercher tableau"