Encore les codes couleur

pro-blême

XLDnaute Nouveau
Bonjour le forum, salut aux XLDiens :cool:

Je fais partie des "effacés" du mois de Mars, mais cela ne m'a pas empêché de vous suivre tout ce temps.
Après moulte recherches, je reviens sur la question des filtres couleur...:rolleyes:

J'ai bien vu que la Princesse Celeda était aux anges https://www.excel-downloads.com/threads/couleur-dans-les-filtres.37460/
mais je n'ai pas su mettre en oeuvre la formule magique de Thierry :mad:
Pour faire court, je cherche un filtre qui colorise la colonne active comme celle-ci
(onglet filtre couleur), mais pour des variables aussi bien numériques que alpha-numériques.
Le miracle aura-t-il lieu cette fois encore ?
Certainement grâce à votre puit de Savoir...
 

Pièces jointes

  • code COULEUR.zip
    48.4 KB · Affichages: 98
  • code COULEUR.zip
    48.4 KB · Affichages: 69
  • code COULEUR.zip
    48.4 KB · Affichages: 68

skoobi

XLDnaute Barbatruc
Re : Encore les codes couleur

Bonsoir,
si j'ai bien compris, remplace dans le code ce qui est en rouge:
Code:
Private Sub Worksheet_Calculate()
Dim i As Byte
'Hervé

With ActiveSheet.AutoFilter
    For i = 1 To .Filters.Count
        [COLOR="Red"][B]Columns(i)[/B][/COLOR].Interior.ColorIndex = xlNone
        If .Filters(i).On = True Then
            [B][COLOR="Red"]Columns(i)[/COLOR][/B].Interior.ColorIndex = i + 34
        End If
    Next i
End With

End Sub
 

CB60

XLDnaute Barbatruc
Re : Encore les codes couleur

Bonjour
Je pense que c'est mieux comme cela.

Private Sub Worksheet_Calculate()
Dim i As Byte
'Hervé
On Error Resume Next
With ActiveSheet.AutoFilter
For i = 1 To .Filters.Count
Cells(1, i).Select
Range(Selection, Selection.End(xlDown)).Interior.ColorIndex = xlNone
If .Filters(i).On = True Then
Cells(1, i).Select
Range(Selection, Selection.End(xlDown)).Interior.ColorIndex = i + 34
End If
Next i
End With
End Sub
 

Bisson

XLDnaute Nouveau
Re : Encore les codes couleur

Bonjour,

Code:
 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
Function ChampActif(c)


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

Bisson
 

Pièces jointes

  • Classeur1.xls
    26 KB · Affichages: 66
  • Classeur1.xls
    26 KB · Affichages: 73
  • Classeur1.xls
    26 KB · Affichages: 67

CB60

XLDnaute Barbatruc
Re : Encore les codes couleur

re
Bisson
La fonction que tu présente est bien

Correction du post:)


Edit J'ai ajouté la fonction de Bisson car elle fonctionne aussi sur la colonne filtrée
 

Pièces jointes

  • Code COULEUR.zip
    46.9 KB · Affichages: 39
  • Code COULEUR.zip
    46.9 KB · Affichages: 45
  • Code COULEUR.zip
    46.9 KB · Affichages: 42
Dernière édition:

pro-blême

XLDnaute Nouveau
Re : Encore les codes couleur

Bonjour à tous, et merci de bien vouloir vous pencher sur ma question.
Je n'ai pas encore testé la soluce de Bisson car je travaillais sur celle de CB60.

En fait, j'ai peut-être mal formulé ma question. La macro qui m'interressait est celle qui se trouve sur l'onglet 4 "couleur filtre" dans le fichier code couleur.

Je vous joins un exemple de fichier sur lesquel je travaille.

PS. Je suis une brêle, je n'ai pas réussi à faire marcher ta soluce CB60 :(
 

Pièces jointes

  • exemple.xls
    25.5 KB · Affichages: 101
  • exemple.xls
    25.5 KB · Affichages: 103
  • exemple.xls
    25.5 KB · Affichages: 104

CB60

XLDnaute Barbatruc
Re : Encore les codes couleur

re
Voici ton fichier, j'ai ajouté une colonne avec la fonction aléa (colonne A) et maintenant ça fonctionne, j'avais essaye " Application volatile" mais ça ne donné rien.
 

Pièces jointes

  • exemple.zip
    12.7 KB · Affichages: 48
  • exemple.zip
    12.7 KB · Affichages: 50
  • exemple.zip
    12.7 KB · Affichages: 49

pro-blême

XLDnaute Nouveau
Re : Encore les codes couleur

Hello Bruno :cool:

Super, ça fonctionne à merveille. Quelle efficacité ce forum !!!
Une dernière question:
Quand j'actionne un filtre, l'affichage se décale sur les colonnes les plus à droite.
Est-du à ma version de Excel (2002) ?
Quoi qu'il en soit, merci encore et bravo !!!
J'ai oublié de remercier les autres membres qui ont bien voulu m'aider, leurs solutions étaient justes, simplement décalées par rapport à mes besoins.

Merci à tous :cool:
 

Cousinhub

XLDnaute Barbatruc
Re : Encore les codes couleur

Bonjour pro-bleme, bruno

le décalage provient des .select

tu peux modifier comme ceci :

Code:
Private Sub Worksheet_Calculate()
Dim i As Byte
'Hervé
On Error Resume Next
With ActiveSheet.AutoFilter
    For i = 1 To .Filters.Count
        ' seulement pour l'entête
        'Cells(1, i).Interior.ColorIndex = xlNone
'        Cells(1, i).Select
        Range(Cells(1, i), Cells(1, i).End(xlDown)).Interior.ColorIndex = xlNone
        If .Filters(i).On = True Then
            ' seulement pour l'entête
            'Cells(1, i).Interior.ColorIndex = i + 34
'            Cells(1, i).Select
            Range(Cells(1, i), Cells(1, i).End(xlDown)).Interior.ColorIndex = i + 34

        End If
    Next i
End With

End Sub

mettre des quotes devant les lignes Cells(1, i).Select et remplacer Selection par Cells(1, i)

Bon week-end
 

Statistiques des forums

Discussions
312 527
Messages
2 089 355
Membres
104 136
dernier inscrit
redzzo