Automatiser un filtre personnalisé

B

Benjamin

Guest
Bonjour,

Cela fait longtemps que je n'ai pas pratiqué de VBA et je vous prie d'avance d'excuser mes approximations...
Mon problème est le suivant : je suis confronté à des personnes presse-bouton pour lesquelles faire un filtre automatique personnalisé avec comme critère de recherche "contient" est parfois trop compliqué (!).

Il faudrait donc, dans un cas idéal, que je :
- crée un bouton intitulé "Recherche sur une partie du libellé" ;
- ce bouton appellerait un formulaire avec une zone de saisie dont l'étiquette serait "Entrez ici la partie de libellé recherchée" ;
- plusieurs zones de résultat (disons une dizaine) rapporteraient les différents résultats de la recherche.

Or je ne sais pas s'il est possible, avec une macro, d'automatiser le filtrage automatique personnalisé... je pense que c'est le noeud du problème, sachant qu'après je pourrai toujours me débrouiller pour me rappeler comment on fait un formulaire ! (bien que j'aie quelques doutes sur les zones de résultats...)

Merci beaucoup d'avance pour votre aide précieuse, je continue à chercher de mon côté mais cela m'intéressera beaucoup d'avoir vos lumières !

Benjamin
 
B

Benjamin

Guest
Merci beaucoup Steph,

Après m'être penché sur le pb un peu plus, j'ai un peu honte de ma première question... il me suffisait d'enregistrer la macro et de regarder dans vba, la base... Donc merci pour ta patience, ça fait 4 ans que je n'y ai pas touché, je m'y remets tranquillement !

Du coup, j'ai un problème un peu plus ardu (enfin il me semble).
En effet, admettons que dans ton exemple on n'ait pas mis 1321, mais à la place un formulaire qui propose de faire une recherche sur une valeur que contient la liste et non la valeur exacte. J'ai donc une formule du type Selection.AutoFilter Field:/2, Criteria1:=Sheets("Feuille1").Range("A1").Value

Mais avec ça la recherche se fera sur le contenu exact de la cellule A1, alors que je souhaiterais (ça serait génial !) que le contenu de A1 soit seulement une partie de ce que je cherche (une sorte de *A1*, avec la valeur de A1 à sa place).

Donc dans ton exemple, si la valeur de A1 est 1321, si la liste contient 1321 et 132111434, je souhaiterais faire en sorte de ramener ces deux valeurs et non seulement la première

Je sais qu'avec les * on peut y arriver pour une valeur donnée, mais apparemment c'est plus compliqué pour une formule.

Si tu me sauves sur ce coup-là c'est génial (je me répète un peu mais il est 2h, ça fait un moment que je suis sur le coup et je cherche un sauveur. Je suis sûr qu'il habite ce forum !)

Merci d'avance,

Benjamin
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 756
Messages
2 091 734
Membres
105 060
dernier inscrit
DEDJAN Gaston