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 :

Ajouter une série (2) de données (qui ne sont pas dans une feuille) dans un Graph existant.


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2013
    Messages : 3
    Par défaut Ajouter une série (2) de données (qui ne sont pas dans une feuille) dans un Graph existant.
    Bonjour,

    Dans Excel , je fais mes graphiques depuis VBA.

    Le gros des Infos vient de l’onglet ‘Sources’, et quelque unes de l’onglets ‘Indicateurs’
    Les boutons sont des Shapes et chaque Shapes à le nom de l’indicateur à représenter.

    Je Crée la zone et l’objet graph, trace le graphique de la série, trace la courbe de tendance, et mets le tout en forme.
    'Création de la zone de Graph
    Dim grph As ChartObject
    Set grph = Sheets("Acceuil").ChartObjects.Add(90, 15, 1314, 620)

    'Chiffres impactés, Type de Graph ligne, Sans les points sur chaque valeur
    grph.Chart.ChartWizard Source:=Range(=Sources!G9:AD9), gallery:=xlLine, Format:=2

    J’ai une valeur qui est l’objectif dans une ’Range()’ et je voudrais l’afficher un peu comme on le fait pour une courbe de tendance :

    'Courbe de tendance
    grph.Chart.SeriesCollection(1).Trendlines.Add Type:=xlLinear, Name:="Tendance " & NomIndicateur

    Mais je ne trouve pas comment faire.

    grph.Chart.SeriesCollection.Add Source:="=Sources!G41:AD41"

    Cette solution fonctionne mais ce n’est pas le but car je ne veux pas autant de ligne ‘objectif’ que d’indicateurs

    J’aimerai une solution avec une variable, mais je bloque :

    grph.Chart.SeriesCollection.Add Source:=Array(0,9, 0,9, …., 0,9) ou le 0,9 serait issu de ma Range() mais là, je bloque.

    Merci de votre aide.

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 419
    Par défaut
    Bonjour,

    Je ne saisis pas vraiment le problème. Ne pourrait-on pas avoir sur une plage contenant la valeur de l'objectif répété d'un bout à l'autre?

    Cordialement.
    Fichiers attachés Fichiers attachés

  3. #3
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2013
    Messages : 3
    Par défaut Créer une ligne avec l'objectif
    Bonjour et merci.

    Bien sûr que créer une ligne et répéter l'objectif sur tous les mois de l'année fonctionne. Mais l'lorsqu'on a environ 200 objectifs, on ne peut pas faire une table du 400 lignes. C e n'est vraiment terrible en terme de qualité de travail et de redondance d'informations.

    Tout comme la courbe de tendance a été prévue par les développeur Microsoft, je pensais trouver la courbe "objectif", mais souhaite j'ai mal regardé ou ce n'est pas prévu.

    D'où l'idée d'utiliser une variable "Array " et de la tracer.

    Cordiallement.

  4. #4
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 419
    Par défaut
    Bonjour,

    Il faut bien enregistrer quelque part les 200 objectifs. Ensuite il suffit de 1 plage, toujours la même, qui reprend l'objectif nécessaire pour le graphe affiché.

    Cordialement.

  5. #5
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 419
    Par défaut
    Pour utiliser un tableau (array), une façon de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        Dim arr(1 To 24) As Single, k As Integer
         'objectif
        For k = 1 To 24
            arr(k) = Range("G20")       '--- l'objectif
        Next k
        grph.Chart.SeriesCollection.NewSeries
        grph.Chart.SeriesCollection(2).Values = arr
    Cordialement.

  6. #6
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2013
    Messages : 3
    Par défaut Créer une ligne avec l'objectif
    Merci beaucoup, c'est tout à fait cela : J'avais mal initialisé ma variable Array.

    Cordialement.

Discussions similaires

  1. [MySQL] Faire une jointure entre deux tables qui ne sont pas dans la même base de données
    Par sandddy dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 03/04/2008, 14h18
  2. [RegEx] Recherche de données qui ne sont pas entre des balises
    Par Space Cowboy dans le forum Langage
    Réponses: 6
    Dernier message: 12/07/2007, 18h03
  3. Faire une liste d'élément qui ne sont pas dans la base
    Par bossLINDROS dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 06/06/2007, 12h09
  4. Réponses: 1
    Dernier message: 21/12/2006, 11h17
  5. Réponses: 10
    Dernier message: 15/12/2006, 07h34

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