hilpers


  hilpers > microsoft.* > microsoft.excel

 #1  
28/03/2007, 04h09
Laure
bonjour,

j'aurais voulu savoir s'il était possible de transcrire en VBA un filtre
automatique personnalisé ?

Je m'explique un peu mieux :
j'ai un tableau de plus de 5000 lignes, sur lequel je souhaite créer un
filtre automatique personnalisé avec pour critères "contient" et le mot...
Cela marche très bien en "manuel" mais j'aurais souhaité que les gens
puissent faire une recherche et cela de manière un peu plus simple avec une
inputbox, afin qu'ils rentrent directement le mot ou la partie de mot sur
lequel ils veulent faire leur recherche.

voici mon code :
nompdt = InputBox("Quel nom ?")
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:="=nompdt", Operator:=xlAnd
End Sub

seulement la recherche se fait alors uniquement si le critère est "égal"
alors que je veux "contient"...

Auriez-vous une idée ?

merci d'avance
Laure

 #2  
28/03/2007, 04h43
Laure
merci merci merci... ça marche nickel !!
en plus j'aurais dû y penser car je suis partie en stage VBA niveau 1 il y a
15 jours et donc on a vu cette instruction...
en tout cas merci beaucoup
Laure

"FFO" a écrit :
[..]
 #3  
28/03/2007, 05h00
FFO
Salut Laure
Il suffit de rajouter dans la donnée de recherche le symbole * avant et aprés
soit dans ta macro comme ceci :
nompdt = InputBox("Quel nom ?")
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:="=*" & nompdt & "*", Operator:=xlAnd
Inconvènient seule l'option "contient" pourra être utilisée comme critère de
recherche
soit dans la fenêtre de l'InputBox par l'utilisateur : il saisit par exemple
*Ma recherche*
ou tu peut par défaut l'y intégrer avec ce code :
nompdt = InputBox("Quel nom ?", , "**")
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:="=" & nompdt, Operator:=xlAnd
a charge à l'utilisateur de maintenir les caractères avec sa saisie
Avantage toutes les types de recherche peuvent être utilisés : =
"Recherche", contient "*Recherche*", commence "Recherche*", se termine
"*Recherche"
option nettement supérieure quant aux possibilités offertes

Celà te convient-il ???

"Laure" a écrit :
[..]
 #4  
28/03/2007, 05h07
Laure
merci beaucoup pour la réponse et la rapidité... cela me convient très bien.

j'aurais une autre question, si je peux me permettre :
voilà dans un autre fichier j'ai un bouton RESET afin de supprimer un filtre
élaboré... il fonctionne bien sauf si on clique 2 fois de suite dessus (on a
alors la fenêtre de débogage)... je ne sais pas comment lui dire que si les
données du classeur ne sont pas filtrées alors pas la peine de faire le RESET
?

voici le code que j'utilise : ActiveSheet.ShowAllData

Laure

"FFO" a écrit :
[..]
 #5  
29/03/2007, 23h27
cousinhub
Bonsoir,
avec l'instruction suivante peut-être :
On Error Resume Next
au début de ton code
Bon courage

Laure a écrit :
[..]

Discussions similaires
Filtre automatique personnalisé avec deux conditions dont (Vide)

filtre automatique "personnalisé"

filtre personnalisé

filtre automatique personnalisé


Fuseau horaire GMT +2. Il est actuellement 18h37. | Privacy Policy