XL 2013 (Résolu par Job75) Masquer flèches filtre

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ismailo

XLDnaute Nouveau
Bonjour à tous,
dans le tableau ci-joint j'ai un code qui me permet de faire une recherche sur un TEXTBOX en utilisant le filtre automatique
ma question : est ce que c'est possible de modifier ma macro pour masquer les flèches de filtre de mon tableau qui sont sur les cellules A7 et B7

Cordialement
 

Pièces jointes

Bonjour,
Essayez avec votre code modifié
VB:
Const CIBLE As String = "A7"

Private Sub TextBox1_Change()
Range(CIBLE).AutoFilter field:=1, Criteria1:="=*" & TextBox1.Text & "*", Operator:=xlAnd, VisibleDropDown:=False
End Sub

Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    TextBox1.Text = ""
    Selection.AutoFilter field:=1
End Sub

Private Sub TextBox2_Change()
Range(CIBLE).AutoFilter field:=2, Criteria1:="=*" & TextBox2.Text & "*", Operator:=xlAnd, VisibleDropDown:=False
End Sub

Private Sub TextBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    TextBox2.Text = ""
    Selection.AutoFilter field:=2
End Sub

Salut Doublezéro !!!
 
Bonsoir doublezero, PMO2
je reviens vers vous parce que j'ai essayé d'appliquer le code de PMO2 sur mon fichier ci-joint qui contient déjà un autre code dans la même feuille mais ca beug
pouvez vous me donnez un cou de main s'il vous plait ?
 

Pièces jointes

Bonjour Job, PMO2, Doublezero, le forum
comme vous pouvez constater sur le fichier ci-joint j'ai appliqué ce que vous avez dit
le bug à disparu mais les flèches ont disparu juste des colonnes E et F les autres colonnes du tableau non
le 2ème problème c'est que le premier textbox en mettant des données de la colonne E pour les filtrer ne donne aucun résultat par contre le 2ème texbox fonctionne
 

Pièces jointes

Re,

Avec le filtre automatique on ne peut pas faire de recherche partielle sur les nombres.

Ecrivez donc dans TextBox1_Change :
Code:
Range(CIBLE).AutoFilter field:=5, Criteria1:=TextBox1, VisibleDropDown:=False
Et si vous ne voulez aucune flèche utilisez le filtre avancé, qui en plus permettra les recherches partielles sur les nombres.

A+
 
Re,

Le code pour le filtre avancé :
Code:
Private Sub TextBox1_Change()
[AE3] = "=SEARCH(" & TextBox1 & ",E3)" 'recherche de nombre
[A2].CurrentRegion.AdvancedFilter xlFilterInPlace, [AE2:AE3]
[AE3] = ""
End Sub

Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1 = ""
End Sub

Private Sub TextBox2_Change()
[AE3] = "=SEARCH(""" & TextBox2 & """,F3)" 'recherche de texte
[A2].CurrentRegion.AdvancedFilter xlFilterInPlace, [AE2:AE3]
[AE3] = ""
End Sub

Private Sub TextBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox2 = ""
End Sub
A+
 
Re-bonjour Job,
Merci infiniment pour le code c'est parfait, vous avez bien compris me demande
j'ai une petite remarque je ne sais si c'est possible de la rectifier ou non, concernant la suppression du filtre pour retourner à l'état initial
par exemple en tapant deux chiffre dans textbox1 et après avoir obtenu la recherche souhaité une fois je fais doubleclick pour afficher toute la liste cela prend des secondes surtout que j'ai un tableau avec plusieurs noms, comme vous pouvez voir ci-joint

Cordialement
 

Pièces jointes

Re,

Pour accélérer l'affichage par double-clic :
Code:
Option Explicit
Dim flag As Boolean 'mémorise la variable

Private Sub TextBox1_Change()
If flag Then Exit Sub
[AE3] = "=SEARCH(" & TextBox1 & ",E3)" 'recherche de nombre
[A2].CurrentRegion.AdvancedFilter xlFilterInPlace, [AE2:AE3]
[AE3] = ""
End Sub

Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
flag = True: TextBox1 = "": flag = False
If Me.FilterMode Then Me.ShowAllData
End Sub

Private Sub TextBox2_Change()
If flag Then Exit Sub
[AE3] = "=SEARCH(""" & TextBox2 & """,F3)" 'recherche de texte
[A2].CurrentRegion.AdvancedFilter xlFilterInPlace, [AE2:AE3]
[AE3] = ""
End Sub

Private Sub TextBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
flag = True: TextBox2 = "": flag = False
If Me.FilterMode Then Me.ShowAllData
End Sub
A+
 
je vous remercie infiniment, vous êtes vraiment un expert
en testant le code j'ai constaté deux petites remarques dont je ne sais pas si vous l'avez vu ou non.

dans le 1er textbox qui concerne les nombres si je mets un trait du genre - ou un point . le code me renvoit une erreur..est ce que c'est possible d'éviter cette erreur ??

la deuxième remarque c'est que l'affichage est accéléré par le double click mais par exemple en supprimant lettre par lettre avec le clavier un nom qu'on à écrit dans le textbox l'affichage prend beaucoup de temps
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
199
  • Question Question
XL 2010 Message
Réponses
9
Affichages
499
Réponses
16
Affichages
1 K
  • Question Question
Microsoft 365 Listbox
Réponses
3
Affichages
512
Retour