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 :

Récupérer une valeur d'un tableau croisé dynamique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 299
    Par défaut Récupérer une valeur d'un tableau croisé dynamique
    Bonsoir,

    j'ai fait un graphique croisé dynamique qui m'affiche les principales causes de mon stock. J'ai aussi relié l'item sélectionn au titre du graphique croisé dynamique. Par exemple, si je sélectionne l'usine U1 et le produit P150 alors mon graphique aura pour titre "U1, P150". Pour faire ceci, je parcours tous les pageFields de mon tableau croisé dynamique et je récupère tous les items visibles.
    Le problème est que le parcours de tous les produits est long car j'en ai beaucoup, et je sais que je ne vais en sélectionné qu'un à la fois.

    Je souhaiterai donc faire : si mon champ vaut (Tous) ou (Plusieurs éléments) alors je n'affiche pas les produits. Le titre sera donc juste U1.

    Ma question est donc la suivante : comment récupérer la valeur (Tous) ou (Plusiers éléments) ?

    Voir la PJ pour mieux comprendre ma question.

    J'ai essayé de me balader dans les pageFields mais je n'ai pas trouvé mon bonheur

    merci de votre aide

    Bonne soirée
    Images attachées Images attachées  

  2. #2
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 593
    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 593
    Par défaut
    Bonjour

    Tout simplement se baser sur la cellule contenant le choix, pas besoin d'explorer les items du TCD

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 299
    Par défaut
    Re,

    tout à fait. Pour l'intant je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If(Left(ws.Range("B5").Value, 1) <> "(") Then...
    car le (Tous) et (Plusieurs éléments) commencent tous deux par une parenthèse. Mais j'aurai voulu éviter de faire appel à une cellule pour avoir un code "dynamique". J'aurai voulu avoir quelque chose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If(ActiveSheet.PivotTables(monTCD) <> (Tous) et <> (Plusieurs éléments)) Then...
    Bonne journée

  4. #4
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 593
    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 593
    Par défaut
    RE

    Tu peux dynamiquement savoir ou est la partie du TCD contenant les champs de page et donc explorer les cellules.

    Passer toutes les valeurs en revue ne peut se faire que par une boucle sauf champ de page monoselection qui renvoie Tous ou une valeur (CurrentPage)

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 299
    Par défaut
    Pourrais-tu stp me donner un exemple de monoselection ?

  6. #6
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 593
    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 593
    Par défaut
    RE

    C'est un champ où on ne peut sélectionner qu'une valeur, or tu sembles autoriser la multiselection puisque tu évoques Plusieurs()

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/02/2017, 13h17
  2. Réponses: 0
    Dernier message: 19/03/2015, 15h49
  3. Lire une valeur dans un tableau croisé dynamique
    Par hugues03 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 09/06/2010, 19h57
  4. Réponses: 1
    Dernier message: 21/01/2008, 19h04
  5. Réponses: 4
    Dernier message: 28/11/2006, 00h20

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