Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Besoin d'une macro

3 réponses
Avatar
Pierre Fonds
Bonjour =E0 tous,

Serait-ce possible de me sugg=E9rer un petit code VBA qui accomplirait
ceci:

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

Et si je puis me permettre, comment faire le "RESET" afin que toutes
les donn=E9es du tableau redeviennent visibles mais conserve le Filtre
actif sur les colonnes et par cons=E9quent m'=E9viter d'enlever les
Filtres et les r=E9-installer afin de contourner le probl=E8me de m=E9moire
de l'utilisateur.

SVP bien vouloir m'indiquer la proc=E9dure apr=E8s 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=EAtres (General) Worksheet et (Declarations)

Merci de votre pr=E9cieuse aide.

3 réponses

Avatar
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)

Merci de votre précieuse aide.
Avatar
Pierre Fonds
On Mar 11, 11:08 am, Daniel.C wrote:
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?
Avatar
Blaise Cacramp
bjr

Je crois maintenant qu'il faut lancer la macro

slt

"Pierre Fonds" a écrit dans le message de news:

On Mar 11, 11:08 am, Daniel.C wrote:
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?