Modification ligne filtre automatique

Bonjour,

Je suis LA DEBUTANTE en VBA et j'ai récupérer une macro contenant en autre la fonction suivante :

'boucle sur les filtres de la feuille

With .AutoFilter.Filters

For x = 1 To .Count

sachant que mes filtres sont sur la ligne 2,que dois-je changer pour que cela fonctionne ? J'ai essayé de mettre 2 à la place du 1 mais çà ne marche pas.

Merci pour vos réponses.

Cordialement

Bonjour et bienvenue sur le forum

L'extrait que tu nous montre est un peu court pour pouvoir te répondre.

Joins un fichier qui va avec...

Bye !

Bonjour Christ, bonjour le forum,

Normalement tu n'as rien à changer cette boucle se fait quel que soit l'endroit où se trouve le filtre... Mais ton minuscule bout de code n'est pas assez significatif pour pouvoir t'aider davantage.

[Édition]

Arf ! bonjour Gmb on s'est croisé...

Bonjour gmb et ThuaThème et merci à tous les deux pour vos réponses.

Désolée pour le petit bout de macro mais étant vraiment novice, je ne savais pas ce qu'il fallait fournir. Je vous mets ci-dessous, la macro complète :

Private Sub Worksheet_Calculate()

AppliqueCouleur_ColonneFiltree

End Sub

Sub AppliqueCouleur_ColonneFiltree()

Dim x As Integer

Dim Ws As Worksheet

Set Ws = Worksheets("Liste salariés")

With Ws

'Couleur des cellules A2 à dernière colonne non vide : jaune (couleur n° 6)

Range("A2", Range("A2").End(xlToRight)).Interior.ColorIndex = 6

'Vérifie si la feuille est en mode filtre automatique

If .FilterMode = True Then

'boucle sur les filtres de la feuille

With .AutoFilter.Filters

For x = 1 To .Count

'Colorie l'entête de colonne en vert (couleur n° 43) si le filtre est actif

If .Item(x).On Then Ws.Cells(x).Interior.ColorIndex = 43

Next

End With

End If

End With

End Sub

Bonjour le fil, bonjour le forum,

Peut-être comme ça :

Private Sub Worksheet_Calculate()
AppliqueCouleur_ColonneFiltree
End Sub

Sub AppliqueCouleur_ColonneFiltree()
Dim x As Integer
Dim Ws As Worksheet

Set Ws = Worksheets("Liste salariés")
With Ws
    'Couleur des cellules A2 à dernière colonne non vide : jaune (couleur n° 6)
    Range("A2", Range("A2").End(xlToRight)).Interior.ColorIndex = 6
    'Vérifie si la feuille est en mode filtre automatique
    If .FilterMode = True Then
        'boucle sur les filtres de la feuille
        With .AutoFilter.Filters
            For x = 1 To .Count
                'Colorie l'entête de colonne en vert (couleur n° 43) si le filtre est actif
                If .Item(x).On Then Ws.Cells(2, x).Interior.ColorIndex = 43
            Next x
        End With
    End If
End With
End Sub

Bonjour ThauThème, Bonjour le forum,

Merci pour ton investissement. J'ai essayé en mettant le x après next, mais çà ne fonctionne pas. Quand j'active un filtre en C2 par exemple (ligne de mes filtres), çà me colorie en vert la cellule C1 et non l'entête de mon filtre en C2...

???

Merci à ceux qui pourront m'aider.

Christ0361

Bonjour le fil, bonjour le forum,

Et si tu joignais ton fichier ? Voila une idée qu'elle serait bonne...

Re-bonjour ThauThème et le forum,

En pièce jointe, mon fichier avec, sur le premier onglet, le responsable de mes soucis, et sur le deuxième onglet, le même fichier modifié avec les filtres en ligne 1 qui fonctionne.

Cordialement

Christ0361

21liste-salaries.xlsm (91.01 Ko)

Bonsoir le fil, bonsoir le forum,

En pièce jointe ton fichier modifié. J'ai juste fait un copié/collé du code que je t'avais proposé plus haut et ça marche nickel !...

31christ-v01.xlsm (53.38 Ko)

Bonjour ThauThème, bonjour le forum,

Merci beaucoup pour ton aide, çà fonctionne impec.

Christ0361

Rechercher des sujets similaires à "modification ligne filtre automatique"