CommentCaMarche
Recherche
Posez votre question Signaler

[Excel] Tableau croisé dynamique - list donné

dzouve 31Messages postés mercredi 23 août 2006Date d'inscription 10 juin 2013Dernière intervention - Dernière réponse le 19 juin 2014 à 14:42
Bonjour, j'utilise Excel 2003 et je fais des tableaux croisés dynamiques.
Actuellement cela fonctionne bien, mais j'ai un petit bug quant à la liste de données.
Voici mon exemple.
J'ai une liste de clients dans un autre fichier excel. Si j'ajoute un client, pas de problème dans mon tableau croisé dynamique, si je clique dans ma liste il me l'ajoute (par contre il ne le trie pas par order alphabetique, il l'ajoute à la fin, mais bon c'est correct)
Par contre si je fais une erreur (d'orthographe sur un client qui existe) il me le rajoute dans la liste (par exemple IBM ou IMB)
Lorsque je le corrige dans ma liste d'origine, et que j'actualise, le TCD affecte bien les données par contre dans la liste, le mauvais client apparait toujours (même s'il est à 0) mais j'aimerai qu'il soit supprimé la aussi.
On dirait que le TCD fait une mise à jour du détail des données mais pas des listes.
Si certains d'entre vous ont déja eu ce problème, merci de me faire part de vos solutions
Merci d'avance
dzouve
Lire la suite 
Réponse
+7
moins plus
Bonjour,
j'avais le même probleme !
j'ai trouvé la solution sur le site Excel labo
cf cette page http://www.excelabo.net/excel/tcddiv.php
colle cette macro dans un nouveau module et lance le. cela prend un peu de temps mais c'est efficace

Sub DeleteOldItemsWB()
'gets rid of unused items in PivotTable
' based on MSKB (202232)
Dim ws As Worksheet
Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
Dim i As Integer

On Error Resume Next
For Each ws In ActiveWorkbook.Worksheets
For Each pt In ws.PivotTables
pt.RefreshTable
For Each pf In pt.PivotFields
For Each pi In pf.PivotItems
If pi.RecordCount = 0 And _
Not pi.IsCalculated Then
pi.Delete
End If
Next
Next
Next
Next
End Sub
Mam@- 13 mars 2009 à 17:11
La macro marche super bien !
les valeurs de la liste du tableau redeviennent celles qui contiennent des données.

Nikel
Répondre
Nicoc- 23 déc. 2009 à 16:01
Merci c'est la bonne solution à la question posée .... Cela ma bien servi
Répondre
Ajouter un commentaire
Réponse
+6
moins plus
- Clic droit sur le TCD
- « Options du tableau croisé dynamique »
- Onglet « Données »
- Sous « conserver les éléments supprimés de la source de données », choisir « Aucun »
- Cliquer sur le champ que l'on veut trier
- Afficher la sélection et cliquer sur « Trier de A à Z »
Fabien79- 19 juin 2014 à 14:42
Merci, c'est ça la bonne solution : efficace, et pas besoin de macro VBA !
Pour que ça marche, actualisez le TCD après avoir choisi "Aucun" : les éléments obsolètes dans les listes déroulantes des champs disparaîtront pour de bon.

C'est quand même frappant qu'à chaque fois qu'un utilisateur a un problème avec Excel, les gens essayent toujours de contourner avec du VBA, alors que la solution voulue est très souvent faisable dans l'interface.
C'est un peu comme si on nous disait de trafiquer le moteur alors que la solution est sur le tableau de bord (bien cachée sous la boîte à gants, certes, mais présente).

Note : vérifié sous Microsoft Office Professionnel Plus 2010 + Windows 7 x64.
Répondre
Ajouter un commentaire
Réponse
+3
moins plus
Salut,

juste un petit truc, dans les champ d'une pivot, tu peux trier les labels en fonction de leur valeur (ex ordre alpha croissant ou décroissant) ou d'un des champs de la partie data ou manuellement les placer comme tu veux.

Pour cela en version English (je ne supporte pas la version FR...)

sur le champ, clic droit,

choisir Field settings (entre Order et table option)

chosir le bouton Advanced ...

à gauche on voit des options Autosort options et c'est là !!

bonne suite
Ajouter un commentaire
Réponse
+2
moins plus
Bonjour,

Je ne sais pas si vous avez eu une réponse à votre question.

En effet excel 2003 garde les listes avec les éléments d'origine, même s'ils ne sont plu présents.
Pour éviter de les voir apparaître à vide dans le TCD, il faut faire un clic droit sur le tableau croisé, puis choisir "Paramètre de Champ..." et ensuite enlever la coche "Afficher les éléments sans données".
Dès lors, tous les éléments n'ayant pas de données ne s'afficheront plus dans le TCD.

J'espère que cette solution vous conviendra

Bonne journée
Ajouter un commentaire
Réponse
+1
moins plus
Salut

J'ai le meme pb que toi sur les TCD. As-tu trouvé la solution ?
Merci de me tenir au courant.
Ajouter un commentaire
Réponse
+1
moins plus
Bonjour,
Les tableaux croisés dynamiques sous Excel sont puissants. Un informaticien de logiciels libres m'ayant assuré que je retrouverai tout sur Open Office, j'ai essayé. Le pilote de données m'apparaît très faible : pas moyen de faire le dixième de ce que je fais sous Excel. Quelqu'un peut-il me donner son avis ?
Merci d'avance,
Lucia2
Ajouter un commentaire
Réponse
+1
moins plus
salut,
voilà le tableau est à présent prêt je comprends pas comment procéder? j'arrive pas à assililer l'esprit du TCD pour pouvoir l'appliquer sur d'autres exemples
merci
Ajouter un commentaire
Ce document intitulé «  [Excel] Tableau croisé dynamique - list donné  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.