Etiquette "nom" sur graphique nuage de points

Cefiroth

XLDnaute Nouveau
Bonjour le forum,

J'ai un petit problème avec un graphique nuage de points,
Je dispose d'un tableau avec 3 colonnes :
- Nom du produit
- note n°1
- note n°2

Et j'aimerai afficher un graphique nuage de points où chaque point représente un produit avec pour abscisse et ordonnée ses notes 1 et 2.
J'aimerai aussi afficher le nom de chaque produit au dessus de chaque point.

Cette fonction n'étant pas prévu par excel, on m'a conseillé d'utiliser cette macro :


Private sub Worksheet_Change(ByVal Target As Range)

Dim Rg As Range
Application.ScreenUpdating = False

Set Rg = Intersect(Target, Columns(3))
If Not Rg Is Nothing Then

ActiveSheet.ChartObjects("mongraphe").Activate
'Application.ScreenUpdating = False
On Error Resume Next

i = 1
'on définit la plage contenant les noms par sa position par rapport à la plage age
'ceci permet de définir dynamiquement les plages ages et taille et d'avoir des trous dans
'la plage noms
'on peut aussi directement définir le range contenant le texte des étiquettes

Set plage = Range("date").Offset(0, 2)

For Each c In plage
Set Point = ActiveChart.SeriesCollection(1).Points(i)
With Point
.ApplyDataLabels Type:=xlShowValue
.DataLabel.Text = True
.DataLabel.Text = c.Text
End With
i = i + 1
Next

End If
end sub


(source : Ce lien n'existe plus)


Problème : ça fonctionne pas, en ajoutant un produit ça m'indique "TRUE" au dessus d'un point.


Quelqu'un pourrait m'aider à déchiffrer ce code ?

Merci par avance.

Cef
 

Vilain

XLDnaute Accro
Re : Etiquette "nom" sur graphique nuage de points

Bonjour,

Essaye d'utiliser ça :

Code:
Sub Etiquettes()
Dim Données As Range
Dim Noms As Range
Dim i

Set Données = Application.InputBox("Sélectionnez la plage de données", "SÉLECTION", Type:=8)
Set Noms = Application.InputBox("Sélectionnez la plage des noms", "SÉLECTION", Type:=8)
With ActiveChart.SeriesCollection(1)
        .ApplyDataLabels Type:=xlDataLabelsShowLabel
        For i = 1 To Données.Count
          With .Points(i)
            .DataLabel.Text = Noms(i)
          End With
        Next i
   End With
ActiveChart.Deselect
End Sub

A plus
 

Cefiroth

XLDnaute Nouveau
Re : Etiquette "nom" sur graphique nuage de points

Merci pour la réponse,

Je me suis peut-être trompé car ça ne fonctionne pas, il faut bien affecter ce code au code de la feuille et remplire les champs ?

J'ai appliqué ce code :

Sub Etiquettes()
Dim Données As Range
Dim Noms As Range
Dim i

Set Données = Application.InputBox("A2:B7", "SÉLECTION", Type:=8)
Set Noms = Application.InputBox("C2:C7", "SÉLECTION", Type:=8)
With ActiveChart.SeriesCollection(1)
.ApplyDataLabels Type:=xlDataLabelsShowLabel
For i = 1 To Données.Count
With .Points(i)
.DataLabel.Text = Noms(i)
End With
Next i
End With
ActiveChart.Deselect
End Sub


Sinon, ci-joint mon fichier.

Merci d'avance.
 

Pièces jointes

  • Exemple.xls
    31.5 KB · Affichages: 195
  • Exemple.xls
    31.5 KB · Affichages: 201
  • Exemple.xls
    31.5 KB · Affichages: 200

Vilain

XLDnaute Accro
Re : Etiquette "nom" sur graphique nuage de points

Re,

ça marche très bien si tu copie ma macro sans rien changé.
Seule chose, avant de la lancer, il faut que tu cliques sur le graphique.
Ensuite, si tu remplis correctement la boite de dialogue, ca marche.

A plus
 

Pièces jointes

  • Copie de Exemple(1).xls
    35.5 KB · Affichages: 321
  • Copie de Exemple(1).xls
    35.5 KB · Affichages: 320
  • Copie de Exemple(1).xls
    35.5 KB · Affichages: 347

Cefiroth

XLDnaute Nouveau
Re : Etiquette "nom" sur graphique nuage de points

Merci de prendre le temps de t'occuper de mon problème.

Ta solution marche très bien, par contre est-ce possible de ne pas avoir à remplir la boite de dialogue, faire en sorte que lorsque l'on remplis le tableau (puis clic sur un bouton par exemple) le graphique s'actualise automatiquement ?

Merci d'avance.

Cef
 

Vilain

XLDnaute Accro
Re : Etiquette "nom" sur graphique nuage de points

re,

Pas avec la macro que je t'ai donné.
L'intérêt de celle-ci est justement que tu sélectionnes les plages et que du coup elle est adaptable à tous les fichiers.
Ainsi, elle peut te servir à toi, mais aussi à tous les gens de ton service (si tu es en entreprise).
Si vraiment tu la veux avec un bouton, je ferai la modif (mais ce sera un peu plus long car je ne suis pas très bon en macro).

A plus
 

Cefiroth

XLDnaute Nouveau
Re : Etiquette "nom" sur graphique nuage de points

Re,

Non, je vai pas te demander de travailler à ma place ! Mais si je peux avoir une petite explication des lignes de code (fonctionnement e la macro) ça serait cool. Sinon t'inquiète pas, travail pas des heures sur mon problème...
 

Misange

XLDnaute Barbatruc
Re : Etiquette "nom" sur graphique nuage de points

Bonjour,
Si c'est d'un usage fréquent je te conseille d'installer la macro complémentaire xy chart labeler que tu trouves ici
XY Chart Labeler. Testé et retesté par des milliers (millions ?) d'utilisateurs depuis tellement d'années qu'on se demande encore pourquoi MS ne l'a pas intégrée à excel...
 

Discussions similaires

Statistiques des forums

Discussions
297 994
Messages
1 964 949
Membres
200 778
dernier inscrit
ons123