Problème de filtre par macro

  • Initiateur de la discussion Initiateur de la discussion Sylvain
  • Date de début Date de début

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 !

S

Sylvain

Guest
Bonjour,

Mon problème est le suivant. J'ai une base de données que je dois filtrer par macro. Cette base de donné se trouve sur la feuille de travail "table1" et le critère que je veux utiliser pour le filtrage ce trouve dans le même classeur sur la feuille de travail "Feuil1" dans la cellule "A3".

Les données filtrées doivent contenir et non être égales à A3.

Tout ce que j'arrive à fair c'est une macro filtre = A3

Sub TEST2()

Worksheets("Table1").Select
Selection.AutoFilter Field:=1, Criteria1:=Sheets("Feuil1").Range("A3").Value

End Sub
 
Bonjour Sylvain

Essaye ce code :

Sub TEST2()

Worksheets("Table1").Select
Selection.AutoFilter Field:=1, Criteria1:="=*" & Sheets("Feuil1").Range("A3").Value & "*"

End Sub

Bonne fin de soirée

@+Jean-Marie
 
Salut à tous,
Dans le même genre, j'ai un comportement curieux qd je fais une macro du style:

'Les valeurs numériques décimales utilisent un point décimal et pas une virgule vu que ça marchait pas sinon
' Activation du filtre sur la colonne 21 (critereChamp21 vaut True)
If critereChamp21 Then
Selection.Range.AutoFilter _
Field:=21, _
Criteria1:=">=0.31", _
Operator:=xlAnd, _
Criteria2:="<=0.5"
Else
Selection.Range.AutoFilter Field:=21
End If

' et désactivation sur la col. 23 (critereChamp23 vaut False)
If critereChamp23 Then
Selection.Range.AutoFilter _
Field:=23, _
Criteria1:=">=0.11", _
Operator:=xlAnd, _
Criteria2:="<=0.15"
Else
Selection.Range.AutoFilter Field:=23
End If

Ce que j'obtiens :
- erreur sur l'instruction exécutée dans le 2e else ("La méthode Autofilter a échoué sur la classe Range")
- dans ma feuille de calcul, la 1e ligne de la sélection porte bien les filtres (présence des petites flèches vers le bas à droite de chaque cellule de titre) mais impossible d'accéder aux menus déroulants des petites flèches vers le bas...

Merci d'avance pour votre aide,
Alex.
 
Je me réponds à moi-même... 🙂

En fait il faut s'assurer qu'il n'existe pas d'AutoFilter sur la feuille considérée, puis en créer un sans préciser ses champs :

If ActiveSheet.AutoFilterMode Then
Range("A1").AutoFilter
End If

Selection.AutoFilter

Selection.AutoFilter Field:=21 Criteria1:="0.31"
Selection.AutoFilter Field:=23 Criteria1:="0.11"

Et voilà !
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
18
Affichages
868
Réponses
12
Affichages
1 K
Réponses
8
Affichages
538
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
538
Réponses
3
Affichages
588
Retour