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 :

TCD et filtre [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 21
    Par défaut TCD et filtre
    Bonjour à tous,

    Je souhaiterai faire l'inverse que ce que fais Excel lors de la création d'un TCD.
    En gros, lorsque je créé mon TCD, il me sélectionne toutes les lignes qu'il trouve.
    Moi je voudrais qu'il ne me sélectionne rien par défaut et que je lui dise moi même les valeurs qu'il doit intégrer dans le tableau.

    En fait, je sais comment ne pas afficher certaines valeurs avec .pivotitems(....).visible=false ou true selon mon envie
    Mais le problème, c'est que je n'aurai pas toujours ces même valeurs, c'est pourquoi je souhaiterai tout déselectionner puis n'afficher que valeur1 et valeur2.

    Est ce que quelqu'un s'est déjà penché la dessus ?
    merci en tout cas.

    Flo

  2. #2
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Bonjour,
    tu dois pouvoir le faire en faisant une boucle sur tous les pivotItems et en les mettant a false.
    j'ai pas testé mais ça pourrait être comme ceci, les noms sont a adapter biensur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    with sheets("MAFEUILLE").PivotTables ("TOTO").PivotFields("TATA")
        i = .pivotItems.Count
       For x = 1 to i
        .PivotItems (x).visible = false
       next x
    end with

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 21
    Par défaut
    Alors j'ai l'impression que ça pourrais effectivement marcher mais j'ai aussi l'impression qu'il refuse de tout mettre à faux, même si après je lui dis de remettre certaines valeurs. pffff

    Bon je pense que c'est quand même bon, j'ai modifié comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    with sheets("MAFEUILLE").PivotTables ("TOTO").PivotFields("TATA")
        i = .pivotItems.Count - 2
       For x = 1 to i
        .PivotItems (x).visible = false
       next x
    end with
    Du coup ça ne me sélectionne que les deux dernières lignes rentrées et c'est ce que je voulais.

    Merci en tout cas.

    Flo

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Tu peux aussi faire directement et sans boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim AvantDer As String, Der As String
     
    With Sheets("MAFEUILLE").PivotTables("TOTO").PivotFields("TATA")
        .ClearLabelFilters
        AvantDer = .PivotItems(.PivotItems.Count - 1)
        Der = .PivotItems(.PivotItems.Count)
        .PivotFilters.Add Type:=xlCaptionIsBetween, Value1:=AvantDer, Value2:=Der
    End With

  5. #5
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Bonjour Mercatog,
    j'aime ton efficacité. Je ne savais pas que l'on pouvait faire comme çà.

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour Hervé, moi non plus je ne savais pas, mais seulement hier je me suis lancé pour répondre à un autre sujet ICI et l'enregistreur de macro m'a aidé

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

Discussions similaires

  1. [XL-2007] [TCD] Les Filtres - Filtre du Rapport
    Par azshari69 dans le forum Excel
    Réponses: 2
    Dernier message: 12/03/2014, 08h45
  2. Export Excel TCD avec filtre
    Par medanas dans le forum QlikView
    Réponses: 1
    Dernier message: 07/03/2014, 09h40
  3. [XL-2003] TCD et filtres sur champs de tableau
    Par mostovoi dans le forum Excel
    Réponses: 0
    Dernier message: 07/01/2014, 14h42
  4. [XL-2010] TCD, lock filtres, mais pas drilldown
    Par mikew75 dans le forum Excel
    Réponses: 2
    Dernier message: 16/07/2011, 18h39
  5. [XL-2007] TCD + Source filtrée
    Par nounours21_6 dans le forum Excel
    Réponses: 8
    Dernier message: 04/10/2010, 10h09

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