Bonjour,

J'ai créer un tableau croisé dynamique sur Excel à l'aide en VBA. J'arrive donc à deux soucis majeurs.
Ayant utilisé la fonction différence par rapport à %, je me retrouve avec un surplus de colonne inutile.
Je souhaite donc masqué toutes les colonnes sauf les deux dernières . J'ai essayé d'écrire un code mais il ne risque pas de marché pour tous les cas de figure.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
For Each c In Range("9:9").Cells
        If c.Value = "01" Then
            c.EntireColumn.Hidden = True
        End If
    Next c

Le second problème est que je souhaite grisé la dernière colonne. J'ai aussi écris un code, mais avec ce dernier si on filtre des données, il ne grise pas la dernière colonne.

Voici le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
With ActiveSheet.PivotTables(1).TableRange1
        Set rng = .Offset(1, .Columns.Count - 1).Resize(.Rows.Count - 1, 1)
    End With
    rng.Select
    Selection.Interior.Color = RGB(214, 214, 214)
Quelqu'un pourrait t-il m'éclairer davantage ?

Je laisse une image pour que ce soit plus compréhensible :

Nom : Capture.PNG
Affichages : 1450
Taille : 43,3 Ko