Mise à jour TCD

Bonjour

J'ai un problème d'actualisation de données dans des TCD et des graphiques croisés dynamiques dans une base Excel (2013).

Un exemple tout bête ci-joint... j'espère que je vais être claire...

  • Le premier tableau sert notamment à définir une liste ("Article"), et des familles (Fruits, Légumes).
  • Le second tableau fait remonter la "Famille" avec une RechercheV.
  • Le TCD est construit.
  • Le graphique croisé dynamique est construit.

J'ai ensuite modifié une famille dans le premier tableau : j'ai mis Fruit au singulier.

J'ai re-sélectionné la source du TCD, actualisé les données.

Dans le filtre "Famille" du TCD, "Fruits" et "Fruit" remontent alors que "Fruits" n'existe plus.

Bien sûr, mon fichier "pro" est beaucoup plus complet(xe) que ça...

Mes collègues vont devoir utiliser les filtres des graphiques... ils ne vont pas s'y retrouver.

Quelqu'un sait-il comment "nettoyer" tout ça ?

Merci par avance de votre aide.

10testtcd.xlsx (19.24 Ko)

Bonjour,

j'ai téléchargé ton fichier et ai essayé de faire un diagnostic.

Si je comprends bien, tu crains que tes collègues soient pris de court s'ils voient "Fruits" et "Fruit", alors qu'un seul champ existe réellement ?

Cela ne paraît pas rédhibitoire car au pire s'ils actualisent une dimension n'existant plus, il n'y aura pas de données ... mais je conçois que ça va attirer des palabres inutiles.

En fait, tu es confronté à des "ghost items", c'est à dire à cette tendance qu'a Excel à ne pas purger sa mémoire.

Je peux te proposer la macro suivante pour nettoyer ces éléments fantômes :

Sub supprime_ghost_items()
Dim pvt As PivotTable
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
For Each pvt In sh.PivotTables
pvt.PivotCache.MissingItemsLimit = xlMissingItemsNone
pvt.PivotCache.Refresh
Next pvt
Next sh
End Sub

mais tel qu'est conçu ton fichier, ça plante car il conserve un lien (ici : c:\users\catherine. \desktop ...) que je n'ai pas.

Je n'ai donc pas pu le tester. Par ailleurs, je pense qu'il te faut n'avoir par feuille qu'un type de données et pas un tableau, un graphique etc. (même si je comprends qu'il s'agit ici d'un exemple simplifié).

Cordialement

Bonjour,

Voir équvalent avec Excel 2013.

capture
ExcelBeginner a écrit :

Bonjour,

j'ai téléchargé ton fichier et ai essayé de faire un diagnostic.

Si je comprends bien, tu crains que tes collègues soient pris de court s'ils voient "Fruits" et "Fruit", alors qu'un seul champ existe réellement ?

Cela ne paraît pas rédhibitoire car au pire s'ils actualisent une dimension n'existant plus, il n'y aura pas de données ... mais je conçois que ça va attirer des palabres inutiles.

En fait, tu es confronté à des "ghost items", c'est à dire à cette tendance qu'a Excel à ne pas purger sa mémoire.

Je peux te proposer la macro suivante pour nettoyer ces éléments fantômes :

Sub supprime_ghost_items()
Dim pvt As PivotTable
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
For Each pvt In sh.PivotTables
pvt.PivotCache.MissingItemsLimit = xlMissingItemsNone
pvt.PivotCache.Refresh
Next pvt
Next sh
End Sub

mais tel qu'est conçu ton fichier, ça plante car il conserve un lien (ici : c:\users\catherine. \desktop ...) que je n'ai pas.

Je n'ai donc pas pu le tester. Par ailleurs, je pense qu'il te faut n'avoir par feuille qu'un type de données et pas un tableau, un graphique etc. (même si je comprends qu'il s'agit ici d'un exemple simplifié).

Cordialement

Bonjour

Merci pour ta réponse complète. Je suis étonnée que le fichier conserve un lien... J'avais bien pris soin d'inspecter le document pour enlever toute information perso !

J'ai commencé par tester la réponse de Jean-Eric, plus simple... et elle fonctionne.

Je te remercie d'avoir étudié mon problème.

Cordialement


Jean-Eric a écrit :

Bonjour,

Voir équvalent avec Excel 2013.

Re-Bonjour Jean-Eric

... Je ne connaissais pas et je n'avais pas pensé à chercher par là... Merci !

Cordialement

Re,

tu as raison, autant ne pas compliquer la chose.

Ma macro est intéressante quand il y a énormément de TCD dans un fichier.

Quant au lien, il est bel et bien là (comme tu as pu le remarquer, j'ai jugé qu'il n'était pas indispensable de citer le nom de famille figurant après catherine ...).

Bonne journée

ExcelBeginner a écrit :

Re,

tu as raison, autant ne pas compliquer la chose.

Ma macro est intéressante quand il y a énormément de TCD dans un fichier.

Quant au lien, il est bel et bien là (comme tu as pu le remarquer, j'ai jugé qu'il n'était pas indispensable de citer le nom de famille figurant après catherine ...).

Bonne journée

Et je t'en remercie... sinon pourquoi utiliser un pseudo...

Ceci étant, je suis lancée sur de nombreux fichiers pro qui contiennent de nombreux TCD, graphiques croisés... Il n'est pas dit que je n'aurai pas besoin de ta macro un jour.

Merci

Rechercher des sujets similaires à "mise jour tcd"