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

Excel Discussion :

Afficher zéro pour les lignes vides d'un TCD [XL-2007]


Sujet :

Excel

  1. #1
    Invité
    Invité(e)
    Par défaut Afficher zéro pour les lignes vides d'un TCD
    Bonjour,

    Le titre de ce fil n'est pas très clair ; je m'explique à l'aide d'un cas simplifié.

    J'ai un TCD qui somme des coûts mensuels sur une année. Dans les étiquettes de ligne, j'ai donc Mois (entiers de 1 à 12). Dans les valeurs: Coûts. Ces coûts sont liés à des projets : j'ai donc ajouté un filtre Projet à mon TCD. J'utilise un graphique croisé dynamique (GCD) pour afficher les coûts sur une année.

    Or, pour certains projets et certains mois, il n'y a tout simplement pas de coûts. Je me retrouve donc avec une liste de mois filtrée dans le TCD. Par exemple : de 4 à 11 pour un projet débuté en avril et terminé en novembre. Idem pour les abscisses du GCD.

    Ce que je veux, c'est un moyen de fixer les données en abscisses à la liste de tous les mois, de manière à homogénéiser le rendu : toujours avoir la vue d'une année complète.

    Y a-t-il un moyen de donner des valeurs nulles pour les lignes inexistantes avec un TCD ? Si non, connaissez-vous une astuce ?

    Merci

  2. #2
    Expert éminent sénior

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

    Si au lieu de valeurs 1 à 12 pour les mois, tu avais des dates et un regroupements par mois, ce serait possible car Excel "saurait" où sont les trous et en paramétrant le champ date et les options du TCD c'est faisable.

    Mais pour des valeurs 1 à 12, à part ajouter une valeur à 0 pour chaque cas (mois-projet) dans la source...

  3. #3
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Points : 14 363
    Points
    14 363
    Par défaut
    Bonjour,

    En attendant une meilleure solution, tu peux ajouter dans les données source 12 lignes par projet (1 par mois) avec une valeur 0...

  4. #4
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Points : 14 363
    Points
    14 363
    Par défaut
    Dans le TCD, fais un clic droit sur les valeurs du champ de ligne, choisis "paramètres de champ", onglet "Disposition et impression" et coche "Afficher les éléments sans données".
    PS. Au besoin, tu tries le champ de ligne.

  5. #5
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 526
    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 526
    Points : 16 463
    Points
    16 463
    Par défaut
    Bonjour
    Citation Envoyé par Daniel.C Voir le message
    Dans le TCD, fais un clic droit sur les valeurs du champ de ligne, choisis "paramètres de champ", onglet "Disposition et impression" et coche "Afficher les éléments sans données".
    PS. Au besoin, tu tries le champ de ligne.
    Cela ne marche que si, au moins à un un instant T, le mois a existé pour un projet.

    Tu peux donc créer tes valeurs 0 dans la source, actualiser le TCD, puis supprimer les lignes de la source.

    Comme je le disais avec des dates groupées par mois, cela marche directement.

  6. #6
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Points : 14 363
    Points
    14 363
    Par défaut
    Bonjour 78Chris,

    Cela ne marche que si, au moins à un un instant T, le mois a existé pour un projet.
    Oui. Au pire il faut ajouter une ligne par mois dans les données source (donc 12 au maximum).

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour et merci pour vos réponses.

    La réponse de Daniel.C, copiée ci-dessous, a résolu mon problème, sans avoir à créer de zéros dans la source :
    Citation Envoyé par Daniel.C Voir le message
    Dans le TCD, fais un clic droit sur les valeurs du champ de ligne, choisis "paramètres de champ", onglet "Disposition et impression" et coche "Afficher les éléments sans données".
    PS. Au besoin, tu tries le champ de ligne.
    Cela me donne effectivement ce que je souhaite.

    78chris : J'ai aussi testé l'idée du champ date. J'ai ajouté une colonne à mon tableau source qui, à partir du numéro de l'année et du numéro du mois reconstitue une date avec un format du genre Jan-13. Dans le TCD, j'ai remplacé les simples numéros de mois par cette date, ce qui certes est plus élégant, mais ne me permet pas d'obtenir ce que je souhaite en triturant les options de l'axe des abscisses du GCD. La plage de données ne s'étend pas de janvier à décembre et les "trous" ne sont pas non plus comblés (on peut passer de mars à décembre sans aucun saut sur les abscisses). Pourtant pour des graphiques normaux ça fonctionne correctement si on paramètre l'axe avec le bon type. Mais j'ai peut-être loupé quelque chose dans tes explications ?

    Daniel.C : Pour la méthode des zéros, je pense que ton premier message était plus correct : il faut bien ajouter une ligne à zéro par couple (mois, projet), ce qui fait beaucoup de lignes. De plus, mon exemple est extrêmement simplifié, en réalité j'ai beaucoup plus de dimensions donc la solution devient rébarbative.

  8. #8
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 526
    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 526
    Points : 16 463
    Points
    16 463
    Par défaut
    Re
    Citation Envoyé par kéraunos Voir le message
    ...

    78chris : J'ai aussi testé l'idée du champ date. J'ai ajouté une colonne à mon tableau source qui, à partir du numéro de l'année et du numéro du mois reconstitue une date avec un format du genre Jan-13. Dans le TCD, j'ai remplacé les simples numéros de mois par cette date, ce qui certes est plus élégant, mais ne me permet pas d'obtenir ce que je souhaite en triturant les options de l'axe des abscisses du GCD. La plage de données ne s'étend pas de janvier à décembre et les "trous" ne sont pas non plus comblés (on peut passer de mars à décembre sans aucun saut sur les abscisses). Pourtant pour des graphiques normaux ça fonctionne correctement si on paramètre l'axe avec le bon type. Mais j'ai peut-être loupé quelque chose dans tes explications ?...
    Jan-13 : est une date ou un texte ? Il faut une vraie date et un regroupement des dates par mois dans le TCD. Ensuite même option pour le champ, et si tu veux des 0 (ce que laisse supposer le vocable "valeurs nulles" de ton 1er post), il faut remplacer les valeurs vides par 0 dans les options du TCD.
    Si c'est du texte, cela ne donne rien de plus que des chiffres de 1 à 12

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par 78chris Voir le message
    Jan-13 : est une date ou un texte ?
    Une date, une vraie, issue d'une formule de ma table source (Period désigne le numéro de mois) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DATE([Year],[Period],1)
    Je prends le premier jour du mois par défaut. Nécessairement, vu le format que j'applique (Jan-13, Mar-14, etc.) et le fait que le jour du mois n'ait aucune importance, les dates sont regroupées par mois dans le TCD. Le champ du TCD est bien formaté de la même manière, tout comme les valeurs en abscisses dans le GCD.

    Citation Envoyé par 78chris Voir le message
    si tu veux des 0 [...] il faut remplacer les valeurs vides par 0 dans les options du TCD.
    Si tu parles de l'option "Pour les cellules vides, afficher" (avec un champ où je peux saisir 0), cela ne fonctionne pas. Rien ne se passe.
    Si tu parles de l'option du champ conseillée par Daniel.C, le problème est alors que tous les mois de toutes les années sont affichés. C'est un aspect du problème dont je n'avais pas parlé plus haut. Bien que peu élégant, les simples entiers évitent cela car l'ensemble des valeurs est bien l'intervalle entier [1;12]. D'ailleurs, pour obtenir un meilleur rendu, j'ai ajouté un champ textuel dans la source :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =TEXT(DATE(1900,[Period],1),"mmm")
    Ainsi l'ensemble des valeurs de ce nouveau champ est
    {"Jan", "Feb", "Mar" ... "Oct", "Nov", "Dec"}
    Et avec l'option de champ "Afficher les éléments sans données", ça fonctionne

  10. #10
    Expert éminent sénior

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

    Pour les options, l'affichage des 0 complète mais ne remplace pas l'option du champ pour afficher les valeurs sans données.

    Dans ton explication il y a quelque chose qui m’échappe : si tu gardes des chiffres où gères-tu l'année ?

    Si tu la gères dans le TCD, il suffit, pour le regroupement, de cocher année et mois et de déplacer l'année où tu la souhaites.
    Il y a effectivement des bornes affichées mais il suffit de les décocher.

    Sinon comme je le disais au début, si une période sous forme numérique ou textuelle n'existe pas à un instant T dans la source, l'affichage des valeurs intermédiaires ne se fera pas. Si elle a existé, elle restera dans le cache du TCD, tant que celui-ci ne sera pas recalculé.

  11. #11
    Invité
    Invité(e)
    Par défaut
    La sélection de l’année se fait dans un filtre du TCD. Et j'ai une macro qui empêche de sélectionner autre chose qu'une et une seule année.

    Si tu la gères dans le TCD, il suffit, pour le regroupement, de cocher année et mois et de déplacer l'année où tu la souhaites.
    Il y a effectivement des bornes affichées mais il suffit de les décocher.
    Désolé je ne comprends pas ce passage.

  12. #12
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 526
    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 526
    Points : 16 463
    Points
    16 463
    Par défaut
    Re

    Citation Envoyé par kéraunos
    Désolé je ne comprends pas ce passage.
    Il répondait à celui-ci
    Citation Envoyé par kéraunos Voir le message
    Si tu parles de l'option "[I]...
    Si tu parles de l'option du champ conseillée par Daniel.C, le problème est alors que tous les mois de toutes les années sont affichés...
    En utilisant année et mois en regroupement de date et en plaçant année en zone de filtre, tu n'auras bien que 12 mois dans le TCD + les 2 bornes à masquer.

  13. #13
    Invité
    Invité(e)
    Par défaut
    Arf, désolé, en fait je crois que j'ai un problème de vocabulaire : qu'entends-tu par utiliser année et mois en regroupement de date ? (je travaille avec la version anglaise d"Office, cela rend parfois la compréhension moins immédiate).

  14. #14
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 526
    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 526
    Points : 16 463
    Points
    16 463
    Par défaut
    Re

    Tu utilises la date (vrai date dans la source) en zone de ligne ou colonne du TCD.
    Clic droit, grouper : tu sélectionnes mois+année.

    Tu places le champ Année obtenu en zone de filtre.

    Il te reste, si tu utilises l'option "afficher les valeurs sans données" pour le mois, 12 mois + 2 bornes : période avant ta première date et période après ta dernière date. Bornes qu'il faut masquer via le filtre du champ.

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

Discussions similaires

  1. Afficher les lignes vides dans une requete
    Par Mattorre dans le forum Langage SQL
    Réponses: 4
    Dernier message: 26/07/2010, 15h13
  2. Réponses: 10
    Dernier message: 09/02/2010, 11h28
  3. afficher des entêtes pour les lignes d'une jtable
    Par minanoun dans le forum Composants
    Réponses: 4
    Dernier message: 13/04/2009, 03h14
  4. [BO 5.1.9] Afficher les lignes vides
    Par michaelknight00 dans le forum Deski
    Réponses: 3
    Dernier message: 19/06/2008, 20h29
  5. ne pas afficher les lignes Vides
    Par k-eisti dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 21/05/2007, 19h02

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