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 :

Création d'un graphique OWC avec des valeurs nulles/vides


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Par défaut Création d'un graphique OWC avec des valeurs nulles/vides
    Bonjour,
    Je désire créer un graphique contenant deux courbes.
    Sur l'axe des absisses, je trace des dates, et sur l'axe des ordonnées je trace des valeurs. Néanmoins, il arrive qu'il n'y ai pas de valeurs pour une date donnée.
    Le souci, est que VBA trace les valeurs en ne prenant pas en compte les valeurs vides, ce qui cause un gros problème puisque les deux axes deviennent décoordonnées.
    De plus, j'ai une deuxième courbe qui, elle aussi, peut avoir des valeurs vides à certaines dates. Or je souhaite comparer la différence sur une même date entre les deux courbes, mais cela est impossible !

    Quelqu'un pourrait m'aider ?

    Merci

  2. #2
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 34
    Par défaut
    Et si la valeur de la cellule est nule au lieu de vide ?

  3. #3
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Par défaut
    J'ai toutes les données dans un vecteur.
    Les données que je trace sont des données de type double.
    Si la valeur est nulle, elle sera tracée sur la courbe avec les autres données, ce qui rendrait la courbe illisible et insignifiante.

    La seule solution qui me semble envisageable est de réussir à tracer la courbe sur ces bons points, car actuellement elle est décallée à chaque fois que le vecteur a une donnée vide.

  4. #4
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 34
    Par défaut
    Deux idées peu professionnelles mais qui pourraient aider a trouver une solution:

    - si la valeur est nulle : prendre la valeur précédente, mais pour comparer c'est pas top

    - faire une troisième courbe (en premier) qui est consante y = 1 ou y = x ou pour chaque date ton ordonnée est égale à 1

    c'est con, mais ca peut marcher.

  5. #5
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Par défaut
    Merci pour l'aide. La première solution n'est pas trop envisageable car la lecture du graph deviendrait trop compliquée (à cause des données cristallisées).
    J'ai pensé à tracer la courbe qu'à partir des dates où j'ai des données; mais cela ne résoud pas le problème car lorsque pour une date (X) je n'ai pas de données Y, la courbe sera à nouveau déplacée.

    Le problème a sûrement du arriver à quelqu'un, mais je ne trouve rien sur le net...

  6. #6
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Par défaut
    Pour que mon problème soit plus parlant, je donne des exemples.

    Voici le morceau de code où je trace les courbes dans un object OWC :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    chtNewChart.SetData chDimSeriesNames, chDataLiteral, asSeriesNames
     
    chtNewChart.SeriesCollection(0).SetData chDimXValues, chDataLiteral, Join(ListeDates, vbTab)
    chtNewChart.SeriesCollection(0).SetData chDimYValues, chDataLiteral, ListeASW
    chtNewChart.SeriesCollection(0).Marker.Size = 1
    chtNewChart.SeriesCollection(0).Line.Weight = 1
     
    chtNewChart.SeriesCollection(1).SetData chDimXValues, chDataLiteral, Join(ListeDates, vbTab)
    chtNewChart.SeriesCollection(1).SetData chDimYValues, chDataLiteral, ListeASWFO
    chtNewChart.SeriesCollection(1).Marker.Size = 1
    chtNewChart.SeriesCollection(1).Line.Weight = 1
    Et voici les données que je souhaite tracer :

    ListeDates ListeASW ListeASWFO
    02/07/2008
    03/07/2008
    04/07/2008 47 104
    07/07/2008 50 86
    08/07/2008 49 86.1
    09/07/2008 48 86.2
    10/07/2008 50.5 86.1
    11/07/2008 49.7 86.3

    Le souci est que le 47 et 104 correspondant au 04/07/2008 sera tracé en date du 02/07/2008 !

    Mais le pire est quand j'aurais une courbe de ce genre :

    ListeDates ListeASW ListeASWFO
    02/07/2008
    03/07/2008
    04/07/2008 40
    07/07/2008 45
    08/07/2008 70
    09/07/2008 75
    10/07/2008 76 80
    11/07/2008 78 83
    Là, le 40 de ListeASW en date du 04/07/2008 sera tracé en date du 02/07/2008 et le 80 de ListeASWFO en date du 10/07/2008 sera également tracé en date du 02/07/2008 !
    La comparaison des différentes courbes sera donc complètement impossible à partir du graphique !

    J'espère que quelqu'un pourra m'aider...

Discussions similaires

  1. [Débutant] GridView et dropdownlist avec des valeur null
    Par miniil dans le forum ASP.NET
    Réponses: 1
    Dernier message: 23/05/2013, 23h07
  2. trouver les noeuds avec des valeurs nulles
    Par awalter1 dans le forum Général Python
    Réponses: 3
    Dernier message: 28/10/2010, 14h33
  3. UNIQUE index avec des valeurs null
    Par DeeVoiD dans le forum MySQL
    Réponses: 2
    Dernier message: 24/03/2009, 16h18
  4. [C#]Incohérence de where avec des valeurs nulles
    Par ClaudeBg dans le forum Linq
    Réponses: 4
    Dernier message: 20/02/2009, 18h59
  5. Réponses: 2
    Dernier message: 21/12/2007, 16h05

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