[Excel] Tableau croisé dynamique - list donné

dzouve Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   -  
 Fabien79 -
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
Configuration: Windows XP
Internet Explorer 7.0
Excel 2003

7 réponses

  1. Jérôme53
     
    - 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 »
    7
    1. Fabien79
       
      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.
      0
  2. Steph
     
    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
    7
    1. Mam@
       
      La macro marche super bien !
      les valeurs de la liste du tableau redeviennent celles qui contiennent des données.

      Nikel
      0
    2. Nicoc
       
      Merci c'est la bonne solution à la question posée .... Cela ma bien servi
      0
  3. Pivot
     
    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
    3
  4. enforme
     
    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
    2
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Meshade
     
    Salut

    J'ai le meme pb que toi sur les TCD. As-tu trouvé la solution ?
    Merci de me tenir au courant.
    1
  7. Lucia2
     
    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
    1
  8. steyka
     
    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
    1