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"...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
Je te propose ceci : On Error Resume Next ActiveSheet.ShowAllData
Celà devrait répondre à ton attente
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
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 ???
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
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
Je te propose ceci :
On Error Resume Next
ActiveSheet.ShowAllData
Celà devrait répondre à ton attente
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
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 ???
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"...
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
Je te propose ceci : On Error Resume Next ActiveSheet.ShowAllData
Celà devrait répondre à ton attente
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
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 ???
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
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 ???
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
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 ???
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"...
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 ???
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
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
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 ???
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
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
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 ???
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"...
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
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 ???
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
cousinhub
Bonsoir, avec l'instruction suivante peut-être : On Error Resume Next au début de ton code Bon courage
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
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 ???
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
Bonsoir,
avec l'instruction suivante peut-être :
On Error Resume Next
au début de ton code
Bon courage
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
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 ???
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"...
Bonsoir, avec l'instruction suivante peut-être : On Error Resume Next au début de ton code Bon courage
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
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 ???
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"...