filtre auto = plusieurs ?

arnaoke

XLDnaute Occasionnel
Bonjour,

Après quelques recherches sur le net, il est apparemment impossible de poser plusieurs filtres auto sur une meme feuille, j'ai cependant une objection à soumettre là dessus :

Lorsque l'on sélectionne la ligne entière, puis que l'on pose le filtre auto, on peut ensuite filtrer nos colonnes indépendamment (en tout cas en "manuel" sur excel).

j'ai essayé de le faire en comprenant le fonctionnement, vie l'éditeur de macro, et c'est apparemment une histoire de paramètres " Field ".

mais j'ai un problème une fois le bouzin codé...

des idées ?
 

Pièces jointes

  • Classeur3.xls
    31 KB · Affichages: 42
  • Classeur3.xls
    31 KB · Affichages: 44
  • Classeur3.xls
    31 KB · Affichages: 44

tototiti2008

XLDnaute Barbatruc
Re : filtre auto = plusieurs ?

Bonjour arnaoke,

peut-être

Code:
Private Sub CommandButton1_Click()
    ActiveSheet.Range("B8:D8").Select
    On Error Resume Next
    ActiveSheet.ShowAllData
    On Error GoTo 0
    Selection.AutoFilter Field:=2, Criteria1:="Telo"
    Selection.AutoFilter Field:=3, Criteria1:="Jean"
End Sub

Private Sub CommandButton2_Click()
    ActiveSheet.Range("B8:D8").Select
    On Error Resume Next
    ActiveSheet.ShowAllData
    On Error GoTo 0
    Selection.AutoFilter Field:=3, Criteria1:="jean-claude"
    Selection.AutoFilter Field:=1, Criteria1:="renault"
End Sub
 

Dranreb

XLDnaute Barbatruc
Re : filtre auto = plusieurs ?

Bonjour
Je pense que ça vient de ActiveSheet.AutoFilterMode = False
Si l'intention est d'annuler tout filtre précédent sans détruire les flèches utilisez plutôt:
VB:
ActiveSheet.ShowAllData
À+

Bonjour Tototiti. Endormi moi ce matin...
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : filtre auto = plusieurs ?

Chez moi, ça, ça ne plante pas:
VB:
Private Sub CommandButton1_Click()
If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
With ActiveSheet.Range("B8:D15")
   If Not ActiveSheet.AutoFilterMode Then .AutoFilter
   .AutoFilter Field:=2, Criteria1:="Telo"
   .AutoFilter Field:=3, Criteria1:="Jean"
   End With
End Sub

Private Sub CommandButton2_Click()
If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
With ActiveSheet.Range("B8:D15")
   If Not ActiveSheet.AutoFilterMode Then .AutoFilter
   .AutoFilter Field:=3, Criteria1:="jean-claude"
   .AutoFilter Field:=1, Criteria1:="renault"
   End With
End Sub
 

job75

XLDnaute Barbatruc
Re : filtre auto = plusieurs ?

Bonjour arnaoke, salut tototiti, Dranreb,

Code:
Private Sub CommandButton1_Click()
ActiveSheet.AutoFilterMode = False
With Range("B8", [D65536].End(xlUp))
  .AutoFilter Field:=2, Criteria1:="Telo"
  .AutoFilter Field:=3, Criteria1:="Jean"
End With
End Sub

Private Sub CommandButton2_Click()
ActiveSheet.AutoFilterMode = False
With Range("B8", [D65536].End(xlUp))
  .AutoFilter Field:=3, Criteria1:="jean-claude"
  .AutoFilter Field:=1, Criteria1:="renault"
End With
End Sub
A+
 

Discussions similaires

Réponses
3
Affichages
359
Réponses
69
Affichages
4 K
Réponses
3
Affichages
602
Réponses
2
Affichages
138

Statistiques des forums

Discussions
312 470
Messages
2 088 700
Membres
103 927
dernier inscrit
Mkeal