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 :

Lecture de données dans 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 confirmé
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Par défaut Lecture de données dans un tableau croisé dynamique
    Bonjour a tous,

    J'ai un classeur dans lequel se trouve un tableau croisé dynamique.

    Depuis une autre feuille, je manipule les données de ce tableau par la fonction LIREDONNEESTABCROISDYNAMIQUE

    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Range("B14").Select
          ActiveCell.FormulaR1C1 = _
            "=LIREDONNEESTABCROISDYNAMIQUE(""Count of Amount in USD"",'Pivot Table'!R3C1,""User TRT"",""TF"")"
    Le tableau croisé dynamique étant variable, si un jour il n'y a pas de TF dans la colonne USER TRT, la formule me donne #REF!.

    Y a-t-il un moyen de transformer cette formule en quelque chose du genre:
    S'il n y a pas de donnée correspondante alors la valeur vaut 0 ?

    Merci d'avance !

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Je te conseille plutot de faire un affichage de toutes les données (tu fais un double clic sur le champ et tu coche la case "Afficher les éléments sans données"
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  3. #3
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Hello,

    il y a un premier problème, tu écris une fonction fonction en français avec formulaR1C1 qui attend une fonction en anglais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
           ActiveCell.FormulaR1C1 = _
            "=LIREDONNEESTABCROISDYNAMIQUE(

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Par défaut
    Citation Envoyé par cafeine Voir le message
    Hello,

    il y a un premier problème, tu écris une fonction fonction en français avec formulaR1C1 qui attend une fonction en anglais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
           ActiveCell.FormulaR1C1 = _
            "=LIREDONNEESTABCROISDYNAMIQUE(
    Oups yes c'est vrai désolé, dans mon code c'est bien en anglais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
           ActiveCell.FormulaR1C1 = _
            "=GETPIVOTDATA(
    J'avais traduit avant de poster ici pour les non anglophones

    Citation Envoyé par illight Voir le message
    Je te conseille plutot de faire un affichage de toutes les données (tu fais un double clic sur le champ et tu coche la case "Afficher les éléments sans données"
    Je crois que je me suis mal exprimé.
    En fait la source du tableau croisé dynamique est variable (1 source par jour)
    Et je récupere dans une autre feuille, a partir du tcd, les sommes et dénombrements correspondants a chaque USER TRT.

    Mais tous les USER ne sont pas forcément tous les jours présents dans la plage source du tcdet donc dans le tcd.

    Ce qui donne le #REF!.

  5. #5
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Tu veux dire que la source tu la redéfinit à chaque fois ?

    Sinon tu peut pas faire une gestion d'erreur sur ton #REF ou il apparait ? ça vient d'une formule cette erreur ?
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 193
    Par défaut
    Yes la source, c'est un tableau qui varie une fois par jour.

    - Sinon qu'entends-tu par gestion d'erreur?

    - Cette erreur vient en effet d'une formule:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "=GETPIVOTDATA(""Count of Amount in USD"",'Pivot Table'!R3C1,""User TRT"",""TF"")"
    La je lui demande d'aller trouver le décompte pour le User TRT TF, dans le tableau croisé dynamique situé dans la feuille 'Pivot Table' en cellule A3.

    Quand il y a bien un USER TRT qui vaut TF, pas de souci ca retourne la bonne valeur. S'il n'y a pas de USER TRT, c'est la que ca retourne #REF.


    Sachant qu'il y a 6 valeurs possibles pour USER, et qu'il n'y a pas toujours les 6 valeurs tous les jours dans la source du tcd, comment faire?

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 27/06/2012, 13h48
  2. Sortie de données dans un tableau croisé dynamique Excel
    Par Macao35 dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 14/11/2011, 16h29
  3. Réponses: 1
    Dernier message: 28/11/2009, 19h20
  4. Réponses: 1
    Dernier message: 05/07/2007, 18h28
  5. [VBA-Excel] Faire un filtre dans un tableau croisé dynamique
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 27/11/2006, 15h05

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