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 :

Probleme insertion etiquettes sur graphique nuage de points dans une ChartSpace


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Probleme insertion etiquettes sur graphique nuage de points dans une ChartSpace
    Bonjour,

    Est-il possible d'insérer des étiquettes sur un graphique nuage de points que j'ai mis dans un ChartSpace.

    En effet l'instruction suivante ne fonctionne pas (qui marche pour un graphique dans une feuille excel) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    .....SeriesCollection.Points(i).HasDataLabel
    .....SeriesCollection.Points(i).DataLabel.Text="xxxxx"
    Merci pour votre aide.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Les étiquettes s'insèrent dans le "plotarea"
    Sélectionne ton graphique et teste ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        ActiveChart.PlotArea.Select
        ActiveChart.ApplyDataLabels AutoText:=True, ShowSeriesName:=True, _
            ShowCategoryName:=True, ShowValue:=True
    Brute (ou presque) de l'enregistreur de macro

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    ca ne fonctionne pas.("propriete ou methode non geré par cet objet)

    L'instruction suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ..........SeriesCollection.DataLabelsCollection.add
    affiche les etiquettes, mais ce sont les valeurs des points, or je voudrais leur donner un nom.

    est il possible de modifier les nom des etiquettes ainsi obtenu?

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Change les noms dans la feuille de calculs, ce sera plus simple... si tu peux.
    Où se trouve ton graphe ? Dans une feuille Graph ou dans une feuille de calculs ?

  5. #5
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    il s'agit d'un graphique nuage de point

    à chaque point je voudrais coller une etiquette
    je ne veux pas que l'etiquette soit les valeurs (x,y), mais un nom, par exemple un nom de projet.

    Pour l'instant les noms de projets ne sont pas liés au graphique.

    Je cherche la solution pour les faire apparaitre sur chaque point, sachant que j'utilise un graphe dans un chartspace.

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonsoir


    DataLabelsCollection permet d'afficher les étiquettes pour une série spécifique du ChartSpace :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Private Sub CommandButton1_Click()
        Dim i As Integer
        Dim S1 As Object
        Dim TabX(4), TabY(4)
        Dim Cht As ChChart
        Dim C As Object
     
        For i = 0 To 3 'remplissage tableaux
            TabX(i) = i
            TabY(i) = Int((50 * Rnd) + 1)
        Next i
     
        Set C = ChartSpace1.Constants
        Set Cht = ChartSpace1.Charts.Add
     
        With Cht
            'type de graphique
            .Type = C.chChartTypeScatterMarkers
            .HasLegend = True
            .Legend.Position = C.chLegendPositionBottom
        End With
     
         Set S1 = Cht.SeriesCollection.Add
        With S1
            .Caption = "Chiffre d'affaires"
            .Type = C.chChartTypeLine
            .SetData C.chDimCategories, C.chDataLiteral, TabX
            .SetData C.chDimValues, C.chDataLiteral, TabY
     
            'Affichage étiquettes
            .DataLabelsCollection.Add
        End With
     
    End Sub


    bonne soirée
    michel

  7. #7
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Cet exemple marche, mais dans mon cas je voudrais que les etiquettes soit un nom que je donne pour chaque point.

    Mais je ne sais pas si cela est possible.

  8. #8
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Pourquoi le code suivant ne fonctionne pas?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ChartSpace1.Charts.Item(1).SeriesCollection(1).Item(1).Points.Item(1).HasDataLabel=True
    ChartSpace1.Charts.Item(1).SeriesCollection(1).Item(1).Points.Item(1).DataLabel.Text= « XXXX»
    Alors que celui-ci fonction pour un graphe dans une feuille excel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Chart(« Chart1 »).SeriesCollection(1).Point(3). HasDataLabel=True
    Chart(« Chart1 »).SeriesCollection(1).Point(3).DataLabel.text= « XXXX »

  9. #9
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonsoir


    Pourquoi le code suivant ne fonctionne pas?
    Tu ne peux pas comparer les codes des deux objets car ils n'ont aucun rapport l'un avec l'autre.


    bonne soirée
    michel

Discussions similaires

  1. Réponses: 21
    Dernier message: 29/09/2011, 10h30
  2. Appliquer une image 2D sur un nuage de points
    Par eleon_ dans le forum MATLAB
    Réponses: 6
    Dernier message: 18/04/2008, 12h47
  3. Graphique à nuage de points
    Par Maelstorm dans le forum Excel
    Réponses: 1
    Dernier message: 03/04/2008, 19h14
  4. Etiquettes sur graphique
    Par Iloon dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 22/02/2008, 10h04
  5. Graphique : Nuage de points
    Par Djohn dans le forum Excel
    Réponses: 2
    Dernier message: 26/09/2007, 09h53

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