SmartFAQ is developed by The SmartFactory (http://www.smartfactory.ca), a division of InBox Solutions (http://www.inboxsolutions.net)

[TCD] Etiquettes persistantes ?

Q&R publiée par Mth le 02-07-2012 (6865 Lectures)

Après une mise à jour de la base et malgré l'actualisation du TCD, les étiquettes ne se mettent pas automatiquement à jour.

 


Par exemple, je dispose d'une base de données recensant les ventes par ville et type de magasin, base que je synthétise à l'aide d'un tableau croisé dynamique de ce type:

 

TCD Eliminer l'historique des étiquettes

 

Après une mise à jour de ma base, je constate que je n'ai plus de ventes dans la ville de Dieppe, j'actualise mon TCD et la ville de Dieppe n'y apparaît pas:

 

TCD Eliminer l'historique des étiquettes

 

Cependant, lorsque je regarde la liste déroulante du champ Ville, la ville de Dieppe apparaît toujours:

 

TCD: Eliminer l'historique des étiquettes

 

En effet, par défaut les TCD conservent l'historique des étiquettes, mais il est possible de modifier ce paramètre, via l'interface ou par macro.

 

Intervention manuelle par l'interface:

 

Depuis Excel 2007 l'option est disponible dans les options de configuration du TCD.

Sélectionner le TCD, clic droit, dans le menu contextuel choisir "Options du tableau croisé dynamique":

 

TCD: Eliminer l'historique des étiquettes

 

Sélectionner l'onglet "Données", puis dans la liste déroulante du nombre d'éléments à retenir, Choisir "Auncun" à la place de "Automatique" qui est sélectionné par défaut:

 

TCD: Eliminer l'historique des étiquettes

 

Terminer en actualisant le TCD.

 

 

Dans les versions antérieures cette option n'était pas présente, l'astuce consiste sur ces versions à

 

 1 - Sortir le champ concerné du TCD

 

 

TCD: Eliminer l'historique des étiquettes

 

 2 - Actualiser le tableau croisé dynamique

 

 3 - Remettre le champ dans le TCD tel qu'il était.

 

 

En VBA (à partir d'Excel 2002)

 

Un exemple de code pour un tableau croisé dynamique nommé "TCD1" de la feuille active:

 

Sub EffaceEtiquette()
 
Dim Pvt As PivotTable
Set Pvt = ActiveSheet.PivotTables("TCD1")
Pvt.PivotCache.MissingItemsLimit = xlMissingItemsNone
 
End sub

 

 

 

Info A noter: il n'est nécessaire de lancer ce code qu'une seule fois, le TCD conserve son option.

 


  Imprimer la Q&R Envoyer la Q&R