Fusionner / Superposer deux graphiques (type nuage de points)

guillaume_stagiaire

XLDnaute Nouveau
Bonjour à vous jeunes gens !

Une question qui sera certainement simple pour l'un d'entre vous :

Est il possible de fusionner ou superposer 2 graphiques type nuages de points (voir exemple : onlglets NP11-1 et NP11-2), sachant que les axes ont les memes données (age / rémunérations) et que la seule différence est l'appartenance à une société ou une autre? (cf graph)

Je pourrais creer un nuage de points d'apres une seule colonne societe au lieu de deux, mais j'aimerais savoir si cela etait possible.

D'avance merci.
 

Pièces jointes

  • NUAGES DE POINTS bis.xlsm
    23.2 KB · Affichages: 1 196

tototiti2008

XLDnaute Barbatruc
Re : Fusionner / Superposer deux graphiques (type nuage de points)

Bonjour guillaume,

Eh bien, il y a certainement plusieurs possibilités
La plus rapide étant certainement :
aller en feuille NP 11 - 2
Sélectionner le graphique (clic dans le fond blanc)
Copier
aller en feuille NP 11 - 1
Sélectionner le graphique (clic dans le fond blanc)
Coller
 

guillaume_stagiaire

XLDnaute Nouveau
Re : Fusionner / Superposer deux graphiques (type nuage de points)

Merci pour ta réponse tototiti2008.

En effet c'est ce que je veux car la manip différencie les points (carré, losange) donc impeccable. Par contre il ne conserve pas les etiquettes des deux graphs.

Aurais tu une solution?
 

tototiti2008

XLDnaute Barbatruc
Re : Fusionner / Superposer deux graphiques (type nuage de points)

Bonjour Guillaume,

OK, par macro alors (dommage je pensais que j'allais apprendre un truc sympa ;))
Donc comme je l'ai mis auparavant, sur XL2003 les étiquettes sont conservées quand je fais le Copier/coller, sur 2007 il zingue la moitié des étiquettes.... pas de version 2010 pour tester
Donc pour faire vite, j'ai copié ta macro magique pour avoir 2 versions, une pour la série 1 et l'autre pour la série 2

Code:
Sub AttachLabelsToPoints1()

   'Dimension variables.
   Dim Counter As Integer, ChartName As String, xVals As String

   ' Disable screen updating while the subroutine is run.
   Application.ScreenUpdating = False

   'Store the formula for the first series in "xVals".
   xVals = ActiveChart.SeriesCollection(1).Formula

   'Extract the range for the data from xVals.
   xVals = Mid(xVals, InStr(InStr(xVals, ","), xVals, _
      Mid(Left(xVals, InStr(xVals, "!") - 1), 9)))
   xVals = Left(xVals, InStr(InStr(xVals, "!"), xVals, ",") - 1)
   Do While Left(xVals, 1) = ","
      xVals = Mid(xVals, 2)
   Loop

   'Attach a label to each data point in the chart.
   For Counter = 1 To Range(xVals).Cells.Count
     ActiveChart.SeriesCollection(1).Points(Counter).HasDataLabel = _
         True
      ActiveChart.SeriesCollection(1).Points(Counter).DataLabel.Text = _
         Range(xVals).Cells(Counter, 1).Offset(0, -1).Value
   Next Counter

End Sub

Sub AttachLabelsToPoints2()

   'Dimension variables.
   Dim Counter As Integer, ChartName As String, xVals As String

   ' Disable screen updating while the subroutine is run.
   Application.ScreenUpdating = False

   'Store the formula for the first series in "xVals".
   xVals = ActiveChart.SeriesCollection(2).Formula

   'Extract the range for the data from xVals.
   xVals = Mid(xVals, InStr(InStr(xVals, ","), xVals, _
      Mid(Left(xVals, InStr(xVals, "!") - 1), 9)))
   xVals = Left(xVals, InStr(InStr(xVals, "!"), xVals, ",") - 1)
   Do While Left(xVals, 1) = ","
      xVals = Mid(xVals, 2)
   Loop

   'Attach a label to each data point in the chart.
   For Counter = 1 To Range(xVals).Cells.Count
     ActiveChart.SeriesCollection(2).Points(Counter).HasDataLabel = _
         True
      ActiveChart.SeriesCollection(2).Points(Counter).DataLabel.Text = _
         Range(xVals).Cells(Counter, 1).Offset(0, -1).Value
   Next Counter

End Sub

Lance celle de la série 2 sur ton graphe après le copier/coller et ça devrait réparer les dégats
 

Discussions similaires