Un TCD classique en direct
Dans l’article précédent, nous avons vu que la présentation classique des TCDs
(tableaux croisés dynamiques) avait un certain nombre d’avantages sur la
présentation imposée par défaut depuis Excel 2007.
On pourrait alors se demander s’il n’est pas possible de
régler quelque part un paramètre qui nous donne un TCD classique par défaut. Il
semble hélas que cela ne soit pas possible :(
En revanche, vous pouvez loger dans votre classeur de macros personnelles – afin
d’y avoir un accès direct depuis n’importe quel classeur – la macro suivante, à
laquelle vous pourrez même associer le raccourci de votre choix :
Sub TCD_classique()
With Selection.PivotTable
.InGridDropZones = True
.RowAxisLayout xlTabularRow
End With
End Sub
Remarque – Si le TCD a déjà été construit, la macro fonctionne
toujours, et l’on observe avec plaisir les affreux titres « Etiquettes
des … » des lignes et des colonnes récupérer enfin les noms des
champs concernés !
1 Commentaire(s):
Une tentative pour que la présentation classique apparaisse automatiquement à la création d'un TCD :
1. Dans le classeur des macros personnelles (PERSONAL.XLSB), utiliser l'Editeur VBA pour ajouter un module de classe (Insertion/Module de classe).
On garde le nom par défaut de ce module, Classe1.
2. Dans le module Classe1, on implante le code suivant :
Public WithEvents AppAvecEvenmts As Application
Private Sub AppAvecEvenmts_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
With Target.PivotTable
.InGridDropZones = True
.RowAxisLayout xlTabularRow
End With
End Sub
3. Dans le module correspondant à ThisWorkBook, on programme l'événement
WorkBook_Open avec le code :
Private MonObjet As New Classe1
Private Sub Workbook_Open()
Set MonObjet.AppAvecEvenmts = Application
End Sub
Cette technique peut être appliquée à d'autre cas, car elle permet d'avoir accès aux événements de l'objet Application et plus seulement à ceux de WorSheet et WorkBook.
By cduigou, sur 5:44 PM
Enregistrer un commentaire
<< Accueil