Besoin d'aide pour un graphique excel 2003

Résolu
Longbacon -  
tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai un tableau à 3 colonnes: Nom du Client, Potentiel et PNB.
je cherche à réaliser un grahique type nuage de points (Potentiel en abscisses/PNB en ordonnées et donc avec des points correspondants aux couples (Potentiel;PNB). J'arrive à afficher ce graphique avec les 2 dernières colonnes mais j'aimerais trouver un moyen de rattacher le nom du client correspondant à chaque point (soit affichage permanent, soit en passant la souris dessus ou en cliquant sur le point). car pour le moment le graphique ne sert à rien...

Quelqu'un pourrait il me dépanner?

5 réponses

  1. tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   1 064
     
    Bonjour,
    Même pour un affichage permanent il faut l'aide d'un complément.
    Les graphiques en nuage de points ne permettent pas directement d'ajouter une étiquette.
    On peut ajouter les étiquettes comme un texte:
    sélectionner le graphique puis aller dans la barre de formule et taper: =feuil!1$A$2 et valider.Le texte de la cellule A2 est ajouté au graphe il reste à déplacer ce texte et choisir son format
    On peut aussi avoir recours à une macro complémentaire:
    http://www.appspro.com/Utilities/ChartLabeler.htm
    ou à une macro comme celle proposée sur le site de Jacques Boisgontier
    http://boisgontierjacques.free.fr/ à la rubrique "graphiques"
    0
  2. Longbacon
     
    Merci tontong. Je pense avoir trouvé mon bonheur sur boisgontier (je préfère ne pas étiqueter manuellement car jen ai pour 150 lignes de tableau). En revanche. une fois tombé sur un truc comme ce qui suit, comment procéder?

    Sub commentaire()
    On Error Resume Next
    Sheets(1).ChartObjects(1).Chart.SeriesCollection(1).ApplyDataLabels Type:=xlDataLabelsShowLabel
    On Error GoTo 0
    For i = 1 To Sheets(1).ChartObjects(1).Chart.SeriesCollection(1).Points.Count
    Sheets(1).ChartObjects(1).Chart.SeriesCollection(1).Points(i).DataLabel.Text = Cells(i + 1, 1)
    Sheets(1).ChartObjects(1).Chart.SeriesCollection(1).Points(i).DataLabel.Font.Size = 7
    Next i
    End Sub

    Merci
    0
  3. tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   1 064
     
    Il faut recopier cette procédure dans un module.
    Faire ALT+F11 puis insertion module et dans le module coller le texte de la procédure.
    En haut de la page "graphique" du site "boisgontierjacques" il y a un exemple intitulé "Graphe Nuages Etiquettes" que vous pouvez télécharger.

    PS pour créer le bouton de commande:
    Affichage --> barre d'outils --> formulaire --> choisir le "Bouton" et y affecter la macro "commentaire"
    0
  4. Longbacon
     
    Merci. C'est exactement ce dont j'ai besoin. Dernier truc: dans ce "programme", à quel endroit indique t'on la plage qui contient les noms à mettre en étiquettes (dans mon tableau, colonne de A4 à A40?

    Sub commentaire()
    ActiveSheet.ChartObjects(1).Activate
    On Error Resume Next
    ActiveChart.SeriesCollection(1).ApplyDataLabels Type:=xlDataLabelsShowLabel
    On Error GoTo 0
    For i = 1 To ActiveChart.SeriesCollection(1).Points.Count
    ActiveChart.SeriesCollection(1).Points(i).DataLabel.Select
    Selection.Interior.ColorIndex = 36
    Selection.Font.Size = 7
    Selection.Text = ActiveSheet.Cells(i + 1, 1)
    ActiveChart.SeriesCollection(1).Points(i).MarkerBackgroundColorIndex = 4
    Next i
    End Sub

    Encore une fois: merci pour ta disponibilité!
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   1 064
     
    Bonjour,
    Mes connaissances en vba sont très limitées.
    Le nombre d'étiquettes est égal au nombre de points du graphique.
    For i = 1 To ActiveChart.SeriesCollection(1).Points.Count
    Bien sûr si on ajoute des données et des étiquettes il faut exécuter une nouvelle fois la macro soit par le bouton soit par "Exécution" sur la page du module.
    0