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 :

[VBA] - Changer filtre (top) d'un TCD sans Clearallfilter - .Autoshow error


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2014
    Messages : 7
    Points : 5
    Points
    5
    Par défaut [VBA] - Changer filtre (top) d'un TCD sans Clearallfilter - .Autoshow error
    Bonjour a tous,

    J'ai un petit soucis pour modifier un filtre "topX" d'un TCD via VBA. Je suis entrain de créer un report laissant le choix a l'utilisateur s'il préfère voir un top 10, top20 jusqu’à max top 30 et cela pour plusieurs TCD. Sachant que mon TCD hors filtre fait plus de 1000 lignes, j'ai insère mes TCDs a la suite vu que leur taille est capée.

    Le problème est que la méthode standard pour changer les filtres sur TCD demande de supprimer les anciens filtres, ce qui n'est pas possible sur mon fichier vu que j'ai des données en dessous... Du coup j,ai essaye de me rabattre sur la méthode pivotfield.Autoshow(Type,*Range,*Count,*Field) mais j'ai une erreur 1004 "Application-defined or object-defined error".

    Si quelqu'un sait d'ou peut provenir l'erreur ou connait une solution a mon problème autre que supprimer les données dessous et utiliser clearallfilter j'en serais très reconnaissant.

    Je vous joins un screenshot de mon TCD (nomme "HWGTop")ainsi que ma ligne de code qui deconne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    With Sheets("Pivots Hours Watched")
        .PivotTables("HWGTop").PivotFields("Corresponding Name").AutoShow xlAutomatic, xlTop, 10, "Sum of Hours Watched"
    End With

    Nom : TCD Capture.PNG
Affichages : 401
Taille : 18,5 Ko

    Merci d'avance

    Raphael

  2. #2
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 417
    Points : 16 260
    Points
    16 260
    Par défaut
    Bonjour

    Dans ces cas il faut prévoir un nombre suffisant de lignes entre les TCD que l'on masque/démasque selon le besoin dans la procédure VBA

    A noter que le choix du top par segment peut être sympa http://www.excel-formations.fr/Trucs_astuces/TCD06.php
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2014
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Merci pour votre reponse.

    Justement l'espace entre les TCD est suffisant pour des tops 30, mais je veux eviter de passer par la phase "Show All" car mes colonnes et mes lignes sont variables donc ca peut vite devenir ingerable.

    Donc je cherche un moyen de changer mon filtre automatiquement sans passer par l'etape montrer tout. L,espace que j'ai laisse est amplement suffisant pour top30.

    Je sais pas si j'ai clarifie ma situation

  4. #4
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 417
    Points : 16 260
    Points
    16 260
    Par défaut
    RE

    Effectivement le PivotField.AutoShow ne semble pas fonctionner sur la version française. Sans doute lié à un problème de localisation.

    Pas sûr qu'il le fasse sur la version US quand un autre filtre top est actif.

    Je sais que recalculer le masquage des lignes est casse pieds mais à ma connaissance pas d'autre solution...
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2014
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Meme sur la version US (je travaille sur un Excel anglosaxon). J'ai l'impression que le probleme vient que le top est fait sur le "Grand Total". Que le Autoshow ne fonctionne que si on n,inclus pas differentes colonnes mais je comprends pas pourquoi :/

    Pour le coup si je dois passer pas le masquage des lignes je vais etre oblige de faire une feuille pour chaque TCD et ca va compliquer la chose :/

Discussions similaires

  1. [XL-2010] Ajouter une valeur "Autres" dans un filtre Top 10 sur TCD
    Par pedrolapercu dans le forum Excel
    Réponses: 2
    Dernier message: 15/04/2013, 08h55
  2. VBA : Cocher filtre d'un TCD de source OLAP
    Par u4mee dans le forum Excel
    Réponses: 1
    Dernier message: 28/02/2013, 18h06
  3. [XL-2007] VBA - Prb Filtre TCD entre 2 dates par TextBox
    Par Naru31 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/09/2011, 00h08
  4. Réponses: 3
    Dernier message: 26/05/2009, 14h21
  5. [vba] - Combobox + Filtre Auto + Sans Doublons
    Par RegiO dans le forum Général VBA
    Réponses: 2
    Dernier message: 25/04/2007, 09h43

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