Comment mieux visualiser un filtre automatique

gibtoul

XLDnaute Junior
Bonjour a tous

Lors de l'utilisation du filtre automatique les numero de lignes se mettent en bleu et l'icone "triangle" de la colonne ou le filtre est actif se met en bleu

Ce triangle bleu ... j'ai des difficulté de le reperer.
Y a t il possibililté de colorisé une cellule (par exemple la A3 dans le cas du filtre appliqué sur la colonne A, ) de la colonne filtré

Merci pour votre aide
 

kjin

XLDnaute Barbatruc
Re : Comment mieux visualiser un filtre automatique

Bonjour,
Outre la solution d'Hoerwind, que je salue :), c'est possible en vba mais ça impose qu'il y ait au moins une formule dans la feuille pour provoquer son recalcul car aucun événement n'est associé au filtre
Dans le module de la feuille
Code:
Dim c As Range

Private Sub Worksheet_Calculate()
With ActiveSheet
    On Error Resume Next
    Set c = .AutoFilter.Range
    c.Interior.ColorIndex = xlNone
    On Error GoTo 0
    If .AutoFilterMode Then
        With .AutoFilter
            For i = 1 To .Filters.Count
                If .Filters(i).On Then
                    c(1, i).Interior.ColorIndex = 41
                End If
            Next
        End With
    End If
End With
End Sub
A+
kjin
 

Pièces jointes

  • gibtoul.xls
    27 KB · Affichages: 84

gibtoul

XLDnaute Junior
Re : Comment mieux visualiser un filtre automatique

Merci Hoerwind

Cela fonctionne parfaitement lorsque j'ai un seul filtre sur une colonne
Je n'ai pas été assez precis sur ma question initial car je peux avoir plusieurs filtres
et dans ce cas si j'ai un filtre sur une autre colonne en dupliquant la MFC , cela dysfonctionne meme les cellules non filtré sont modifiées.

a+
 

Pièces jointes

  • FiltreAvecMfc v2.xls
    17 KB · Affichages: 53

gibtoul

XLDnaute Junior
Re : Comment mieux visualiser un filtre automatique

Merci kjin pour ta réponse

J'ai bien des formules dans ma feuille mais il faut que je clique sur une des formules pour faire fonctionner la macro
J'ai essayé de voir en mettant le calul en automatique (menu option) mais rien n'y fait

a+
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Comment mieux visualiser un filtre automatique

Bonjour,


Indique si un champ est filtré

Code:
Function ChampActif(c)
  Application.Volatile
  ChampActif = Sheets(Application.Caller.Parent.Name).AutoFilter.Filters.Item(c.Column -   Sheets(Application.Caller.Parent.Name).Range("_FilterDataBase").Column + 1).On
End Function

Pour appliquer une MFC sur les titres:
-Sélectionner A1:G1
-Format/mise en forme conditionnelle/La formule est
=ChampActif(A1)

http://boisgontierjacques.free.fr/fichiers/Filtre/FiltreAutoFonctionPerso.xls

Le filtre automatique:Fonctions perso

JB
 
Dernière édition:

Softmama

XLDnaute Accro
Re : Comment mieux visualiser un filtre automatique

Bonjour Gitboul, kjin :), Hoerwind :)

Par un procédé analogue à celui de kjin (nécessité d'une formule dans la feuille avec recalcul automatique coché dans les options pour déclencher la macro au recalcul de la page) :

VB:
Private Sub Worksheet_Calculate()
Dim t As Integer
  If ActiveSheet.FilterMode Then
    With ActiveSheet.AutoFilter.Filters
      For t = 1 To .Count
        Intersect(Columns(t + 2), [_FilterDatabase]).Interior.ColorIndex = IIf(.Item(t).On, 3, xlNone) 't+2 si le filtre commence en colonne 3
      Next t
    End With
  Else
    Cells.Interior.ColorIndex = xlNone
  End If
End Sub

Edit : Bonjour JB, pas rafraichi, désolé.
 

Pièces jointes

  • Colonnes filtrées visibles.xls
    37 KB · Affichages: 49
  • Colonnes filtrées visibles.xls
    37 KB · Affichages: 54
  • Colonnes filtrées visibles.xls
    37 KB · Affichages: 51
Dernière édition:

gibtoul

XLDnaute Junior
Re : Comment mieux visualiser un filtre automatique

Merci a tous pour l'aide apportée
Je vais adopter la solution de softmana .

Juste une petite chose... est-il possible d'appliquer la couleur que sur la cellule contenant le filtre.
cela serait parfait

B j'ai été sur ton lien mais je ne meprise par beaucoup le code excel et ne je suis pas arrivé à inseré ton developpement dans ma feuille . J'ai encore beaucoup de travail pour juste essayer de comprendre ....

a+
 

Softmama

XLDnaute Accro
Re : Comment mieux visualiser un filtre automatique

re,

une très légère adaptation de la macro précédente pour y parvenir :
VB:
Private Sub Worksheet_Calculate()
Dim t As Integer
  If ActiveSheet.FilterMode Then
    With ActiveSheet.AutoFilter.Filters
      For t = 1 To .Count
        Cells(2, t + 2).Interior.ColorIndex = IIf(.Item(t).On, 3, xlNone) 't+2 si le filtre commence en colonne 3
      Next t
    End With
  Else
    Range("C2:C" & Range("C2").end(xlToLeft).Column).Interior.ColorIndex = xlNone
  End If
End Sub
 
Dernière édition:

Softmama

XLDnaute Accro
Re : Comment mieux visualiser un filtre automatique

Re,

Kjin, tu as parfaitement raison. C'est par flemme que je n'ai pas pris en compte la position aléatoire du tableau mais que j'avais travaillé sur celui qui éxistait... Tu m'as donc contraint à réparer ce raccourci que j'avais fait en modifiant légèrement la macro ainsi :
VB:
Private Sub Worksheet_Calculate()
Dim t As Integer
  If ActiveSheet.FilterMode Then
    With ActiveSheet.AutoFilter.Filters
      For t = 1 To .Count
        Cells([_FilterDataBase].Cells(1).row, t + [_FilterDataBase].Cells(1).Column - 1).Interior.ColorIndex = IIf(.Item(t).On, 3, xlNone)
      Next t
    End With
  Else
    Cells.Interior.ColorIndex = xlNone
  End If
End Sub

Tu peux maintenant t'amuser à déplacer le tableau.

Edit : Kjin, Je viens de voir ton post #4, ayant pris le fil au #5, j'avais supposé que ce qui y était dit était fondé. Ta solution y était tout à fait semblable à ce que j'ai posté par la suite. Je l'ai fait sans avoir lu de près ce que tu avais écrit et m'excuse donc auprès de toi pour avoir mis un post quasi en double avec le tien sur le fil. Cela était vraiment inintentionnel !!!
 

Pièces jointes

  • Colonnes filtrées visibles.xls
    38 KB · Affichages: 60
  • Colonnes filtrées visibles.xls
    38 KB · Affichages: 55
  • Colonnes filtrées visibles.xls
    38 KB · Affichages: 55
Dernière édition:

gibtoul

XLDnaute Junior
Re : Comment mieux visualiser un filtre automatique

kjin je te prie de m'excusé aussi ,
je me suis un peu emmêlé les pinceau dans la lecture des réponses.
Vous avez été tous très réactif dans vos réponses.
Je retravaille mon fichier dans la soirée en intégrant vos élements
merci encore
a+
 

Discussions similaires

Statistiques des forums

Discussions
312 216
Messages
2 086 348
Membres
103 194
dernier inscrit
rtison