IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[Pivot Table] Liste des champs filtrés incorrecte [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 129
    Par défaut [Pivot Table] Liste des champs filtrés incorrecte
    Bonjour,

    J'ai une formule, PivFilt, qui renvoie une string avec la liste des valeurs sélectionnées dans un filtre d’un tableau croisé dynamique Pivot Table.
    Je scanne le champ, quand une valeur est tickée, elle est en visible=true, je l'ajoute alors à ma string. Normalement ce n’est pas sorcier…

    Le problème c'est que ça renvoie une réponse avec des valeurs non tickée dans le filtre! J'ai l'impression que des valeurs qui n'existent plus sont toujours en visible bien que n'étant pas dans la liste des champs (dans la base l’unique ligne avec ladit valeur a probablement été supprimée, mais il semble que c’est garde en mémoire et en visible=true sans être dans la liste)! Il y a-t-il une autre propriété à utiliser pour s'éviter de retrouver ces vieux champs?

    Merci!
    Lameth

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     '*** Scanning the field items one by one to check which item is in the filter
     NbFIlt = 0
     For Each Filter In ActiveSheet.PivotTables("PivotTable5").PivotFields(PFilt).PivotItems
        If Filter.Visible Then  
            '*** Building the list
            If NbFIlt = 0 Then
                PTfilters = Filter.Name
            Else
                PTfilters = PTfilters & ", " & Filter.Name
            End If
            NbFIlt = NbFIlt + 1
        End If
     Next Filter
     
     PivFilt = PTfilters

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    en désactivant la mémorisation des données peut-être ?

    clic-droit dans le TCD >> Option du tableau croisé dynamique >> onglet "Données" >> Mettre à "Aucun" le menu déroulant "Nombre d'éléments à retenir par champs"

    Actualiser le TCD et vérifier si c'est bon

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 129
    Par défaut
    Merci, en effet cela fonctionne.

    Une manière de solutionner ceci par le code? J'essaye avec la propriété DrilledDown sans succés non plus. Bizzare tout ceci.

    En tous cas, ta solution va dépanner! Merci encore.

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Il suffit de mettre en place cette option lors de la première création de ton TCD.
    A chaque actualisation du TCD, il fera le ménage avec les entrées "fantômes"

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 129
    Par défaut
    Ca a été mon premier reflex pour ne rien te cacher, mais ça rend Excel occupe car les formules se réactualisées sans cesse due à l’utilisation d’autres add-in.

    Je peux toujours le mettre en Workbook OnOpen tu me diras.

    Merci beaucoup à toi !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Power Pivot : verrouiller liste des champs
    Par Mathsdeb dans le forum Excel
    Réponses: 0
    Dernier message: 04/06/2015, 20h51
  2. comment obtenir la liste des champs d'une table
    Par richard038 dans le forum SQL
    Réponses: 4
    Dernier message: 13/02/2009, 18h28
  3. [SQL] Trier la liste des champs d'une table
    Par nicoaix dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 03/10/2007, 18h08
  4. Récupérer la liste des champs d'une table
    Par mister3957 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 17/04/2007, 14h56
  5. comment récupérer le liste des tables et des champs
    Par sekaijin dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 26/07/2006, 16h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo