Besoin d'aide pour un graphique excel 2003

Résolu/Fermé
Longbacon - 25 juil. 2011 à 16:56
tontong Messages postés 2548 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 15 mars 2024 - 26 juil. 2011 à 10:42
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?
A voir également:

5 réponses

tontong Messages postés 2548 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 15 mars 2024 1 054
25 juil. 2011 à 17:12
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
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
tontong Messages postés 2548 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 15 mars 2024 1 054
Modifié par tontong le 25/07/2011 à 19:07
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tontong Messages postés 2548 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 15 mars 2024 1 054
26 juil. 2011 à 10:42
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