Vba filtre
Résolu
celi83
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je voudrais créer une requete permattant de saisir des mots clé et que cette saisie serve de critère dans un filtre personnalisé (la saisie n'étant pas strictement identique au contenu des cellules, il faut qu'elle corresponde au "contient") .
Voilà le code auquel je suis arrivée:
Sub FiltreAuto()
Dim Crit
Crit = Range(InputBox("entrez un mot clé", "RECHERCHE", 0)).Value
ActiveSheet.Range("$F$3:$F$17").AutoFilter Field:=1, Criteria1:="*" & Crit & "*"
End Sub
Seulement il me répond erreur '1004'...
Est-ce que quelqu'un pourrait m'aider? Je débute sur VBA et je ne comprends pas l'erreur...
Merci à tous ceux qui auront le courage de me répondre...
Je voudrais créer une requete permattant de saisir des mots clé et que cette saisie serve de critère dans un filtre personnalisé (la saisie n'étant pas strictement identique au contenu des cellules, il faut qu'elle corresponde au "contient") .
Voilà le code auquel je suis arrivée:
Sub FiltreAuto()
Dim Crit
Crit = Range(InputBox("entrez un mot clé", "RECHERCHE", 0)).Value
ActiveSheet.Range("$F$3:$F$17").AutoFilter Field:=1, Criteria1:="*" & Crit & "*"
End Sub
Seulement il me répond erreur '1004'...
Est-ce que quelqu'un pourrait m'aider? Je débute sur VBA et je ne comprends pas l'erreur...
Merci à tous ceux qui auront le courage de me répondre...
A voir également:
- Vba filtre
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Filtre whatsapp - Accueil - Messagerie instantanée
- Filtre teams - Accueil - Visio
- Filtre manga - Accueil - TikTok
- Excel compter cellule couleur sans vba - Guide
2 réponses
Bonjour,
Range() attend une référence sous forme de chaine (ou sous une autre forme).
Toi tu lui passes un mot j'ai l'impression. Si dans la saisie tu lui passes B3 et qu'en B3 tu as saisis ton mot clé ça marcherait.
Mais je pense que tu veux plutôt lui passer directement le mot clé et alors
Crit = InputBox("entrez un mot clé", "RECHERCHE", 0) suffit
eric
Range() attend une référence sous forme de chaine (ou sous une autre forme).
Toi tu lui passes un mot j'ai l'impression. Si dans la saisie tu lui passes B3 et qu'en B3 tu as saisis ton mot clé ça marcherait.
Mais je pense que tu veux plutôt lui passer directement le mot clé et alors
Crit = InputBox("entrez un mot clé", "RECHERCHE", 0) suffit
eric
Merci beaucoup d'avoir pris le temps de me répondre. Cela fonctionne (enfin!) !!
Ca doit vous sembler ridicule comme question, mais il faut croire qu'il y a un début à tout...
Depuis toute à l'heure j'ai sorti les pagaies mais je me noie toujours... comment faire pour avoir un bouton pour accéder à cette fenetre input ? ça doit vraiment sembler ridicule comme question ...((
Ca doit vous sembler ridicule comme question, mais il faut croire qu'il y a un début à tout...
Depuis toute à l'heure j'ai sorti les pagaies mais je me noie toujours... comment faire pour avoir un bouton pour accéder à cette fenetre input ? ça doit vraiment sembler ridicule comme question ...((
Encore une petite question... Dans cet exemple quel est le lien entre les zone de saisie pour le filtre et les codes? Je m'explique, si je copie-colle tout le code sur un autre projet : pas de zone de texte, si je vais sur une zone de texte pour affecter une macro, je n'en vois pas. Qu'est-ce qui m'échappe?
Je souhaiterais par exemple m'inspirer du bouton pour supprimer les filtres mais je ne comprends pas sa construction...
Je souhaiterais par exemple m'inspirer du bouton pour supprimer les filtres mais je ne comprends pas sa construction...
Bonjour,
Si tu ne l'as pas déjà fait affiche la barre d'outils 'boite à outils controle'
Dessus active l'icone 'mode création' (crayon-équerre-regle)
Si tu double-clique sur une zone de texte ça t'amène sur le code de l'evenement par défaut de l'objet.
Ici Private Sub Tbx1_Change() : à chaque saisie dans Tbx1 ce code est appelé.
Pour l'objet Tbx1 je me sert aussi de l'évènement 'DblClick'.
En haut de ton code : 2 listes déroulantes.
- celle de gauche : la liste des objets
- celle de droite la liste des évènements interceptables de cet objet
Par curiosité regarde ceux de l'objet worksheet (c'est ta feuille).
Tu pourrais très bien te passer des zones de texte et mettre du code dans les évènements 'change' et 'beforeDoubleClick'. Il te faudrait tester la cellule ayant déclenché l'évènement et mettre le code ensuite...
eric
Si tu ne l'as pas déjà fait affiche la barre d'outils 'boite à outils controle'
Dessus active l'icone 'mode création' (crayon-équerre-regle)
Si tu double-clique sur une zone de texte ça t'amène sur le code de l'evenement par défaut de l'objet.
Ici Private Sub Tbx1_Change() : à chaque saisie dans Tbx1 ce code est appelé.
Pour l'objet Tbx1 je me sert aussi de l'évènement 'DblClick'.
En haut de ton code : 2 listes déroulantes.
- celle de gauche : la liste des objets
- celle de droite la liste des évènements interceptables de cet objet
Par curiosité regarde ceux de l'objet worksheet (c'est ta feuille).
Tu pourrais très bien te passer des zones de texte et mettre du code dans les évènements 'change' et 'beforeDoubleClick'. Il te faudrait tester la cellule ayant déclenché l'évènement et mettre le code ensuite...
eric