Besoin d'une macro

Le
Pierre Fonds
Bonjour à tous,

Serait-ce possible de me suggérer un petit code VBA qui accomplirait
ceci:

Lorsque le Filtre (posé en ligne 4 et couvrant les colonnes A à AD
pour l'instant) est activé sur une colonne, la cellule de la ligne 4
de cette colonne soit colorée afin que je visualise en tout temps /
quelles colonnes/ sont filtrées.

Et si je puis me permettre, comment faire le "RESET" afin que toutes
les données du tableau redeviennent visibles mais conserve le Filtre
actif sur les colonnes et par conséquent m'éviter d'enlever les
Filtres et les ré-installer afin de contourner le problème de mémoire
de l'utilisateur.

SVP bien vouloir m'indiquer la procédure après Alt+F11.
Actuellement sur ma gauche, je vois: Project- VBA Project et en-
dessous: Microsoft Excel Objects et Modules
et sur la droite: les fenêtres (General) Worksheet et (Declarations)

Merci de votre précieuse aide.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #21361131
Bonjour.
Une fois dans la fenêtre VBE, cllique dans la partie gauche sur le
projet portant le nom de ton classeur, clique sur les menus Insertion,
Module
Colle dans la partie droite les macros suivantes :

Sub ColorierSiActif
With ActiveSheet.AutoFilter
Set Var = ActiveSheet.AutoFilter.Filters
For i = 1 To .Filters.Count
If .Filters(i).On = True Then
Cells(1, i).Interior.ColorIndex = 3
Else
Cells(1, i).Interior.ColorIndex = xlNone
End If
Next
End With
End Sub

Sub MontreTout()
ActiveSheet.ShowAllData
End Sub

La première colorie l'entête de colonne si ce filtre est actif.
La seconde affiche la totalité des données.

Cordialement.
Daniel


Bonjour à tous,

Serait-ce possible de me suggérer un petit code VBA qui accomplirait
ceci:

Lorsque le Filtre (posé en ligne 4 et couvrant les colonnes A à AD
pour l'instant) est activé sur une colonne, la cellule de la ligne 4
de cette colonne soit colorée afin que je visualise en tout temps /
quelles colonnes/ sont filtrées.

Et si je puis me permettre, comment faire le "RESET" afin que toutes
les données du tableau redeviennent visibles mais conserve le Filtre
actif sur les colonnes et par conséquent m'éviter d'enlever les
Filtres et les ré-installer afin de contourner le problème de mémoire
de l'utilisateur.

SVP bien vouloir m'indiquer la procédure après Alt+F11.
Actuellement sur ma gauche, je vois: Project- VBA Project et en-
dessous: Microsoft Excel Objects et Modules
et sur la droite: les fenêtres (General) Worksheet et (Declarations)

Merci de votre précieuse aide.
Pierre Fonds
Le #21361301
On Mar 11, 11:08 am, Daniel.C
Bonjour.
Une fois dans la fenêtre VBE, cllique dans la partie gauche sur le
projet portant le nom de ton classeur, clique sur les menus Insertion,
Module
Colle dans la partie droite les macros suivantes :

Sub ColorierSiActif
With ActiveSheet.AutoFilter
Set Var = ActiveSheet.AutoFilter.Filters
For i = 1 To .Filters.Count
    If .Filters(i).On = True Then
        Cells(1, i).Interior.ColorIndex = 3
    Else
        Cells(1, i).Interior.ColorIndex = xlNone
    End If
Next
End With
End Sub

Sub MontreTout()
ActiveSheet.ShowAllData
End Sub

La première colorie l'entête de colonne si ce filtre est actif.
La seconde affiche la totalité des données.

Cordialement.
Daniel



> Bonjour à tous,

> Serait-ce possible de me suggérer un petit code VBA qui accomplirait
> ceci:

> Lorsque le Filtre (posé en ligne 4 et couvrant les colonnes A à AD
> pour l'instant) est activé sur une colonne, la cellule de la ligne 4
> de cette colonne soit colorée afin que je visualise en tout temps /
> quelles colonnes/ sont filtrées.

> Et si je puis me permettre, comment faire le "RESET" afin que toutes
> les données du tableau redeviennent visibles mais conserve le Filtre
> actif sur les colonnes et par conséquent m'éviter d'enlever les
> Filtres et les ré-installer afin de contourner le problème de mém oire
> de l'utilisateur.

> SVP bien vouloir m'indiquer la procédure après Alt+F11.
> Actuellement sur ma gauche, je vois: Project- VBA Project et en-
> dessous: Microsoft Excel Objects et Modules
> et sur la droite: les fenêtres (General) Worksheet et (Declarations)




Bonjour/Bonsoir Daniel,

Merci pour les précisions.
J'ai fait comme mentionné mais rien ne fonctionne.
J'ai sauvegardé, fermé puis ré-ouvert le fichier puis Alt+F11 afin de
m'assurer que le code était bien présent.
J'utilise Excel 2002 version anglaise. Y a t'il un impact?
Blaise Cacramp
Le #21361701
bjr

Je crois maintenant qu'il faut lancer la macro

slt

"Pierre Fonds"
On Mar 11, 11:08 am, Daniel.C
Bonjour.
Une fois dans la fenêtre VBE, cllique dans la partie gauche sur le
projet portant le nom de ton classeur, clique sur les menus Insertion,
Module
Colle dans la partie droite les macros suivantes :

Sub ColorierSiActif
With ActiveSheet.AutoFilter
Set Var = ActiveSheet.AutoFilter.Filters
For i = 1 To .Filters.Count
If .Filters(i).On = True Then
Cells(1, i).Interior.ColorIndex = 3
Else
Cells(1, i).Interior.ColorIndex = xlNone
End If
Next
End With
End Sub

Sub MontreTout()
ActiveSheet.ShowAllData
End Sub

La première colorie l'entête de colonne si ce filtre est actif.
La seconde affiche la totalité des données.

Cordialement.
Daniel



> Bonjour à tous,

> Serait-ce possible de me suggérer un petit code VBA qui accomplirait
> ceci:

> Lorsque le Filtre (posé en ligne 4 et couvrant les colonnes A à AD
> pour l'instant) est activé sur une colonne, la cellule de la ligne 4
> de cette colonne soit colorée afin que je visualise en tout temps /
> quelles colonnes/ sont filtrées.

> Et si je puis me permettre, comment faire le "RESET" afin que toutes
> les données du tableau redeviennent visibles mais conserve le Filtre
> actif sur les colonnes et par conséquent m'éviter d'enlever les
> Filtres et les ré-installer afin de contourner le problème de mémoire
> de l'utilisateur.

> SVP bien vouloir m'indiquer la procédure après Alt+F11.
> Actuellement sur ma gauche, je vois: Project- VBA Project et en-
> dessous: Microsoft Excel Objects et Modules
> et sur la droite: les fenêtres (General) Worksheet et (Declarations)




Bonjour/Bonsoir Daniel,

Merci pour les précisions.
J'ai fait comme mentionné mais rien ne fonctionne.
J'ai sauvegardé, fermé puis ré-ouvert le fichier puis Alt+F11 afin de
m'assurer que le code était bien présent.
J'utilise Excel 2002 version anglaise. Y a t'il un impact?
Publicité
Poster une réponse
Anonyme