Différenciation de points dans nuage de points (graphique) Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
T
Tiz
Nouveau venu
Nouveau venu
Messages : 5
Inscrit le : 28 février 2014
Version d'Excel : 2003 FR

Message par Tiz » 28 février 2014, 18:13

Bonjour,

Je suis novice dans l'utilisation d'Excel et je n'arrive pas à faire différencier (par couleur ou par forme) mes points de mon graphique en nuage de points. Je cherche à représenter plus d'une centaine d'objets se différenciant par leur type (une dizaine de type différents) et ayant un poids et une taille différents.
Mon tableau se présente en trois colonnes. A: Type de l'objet B: Son poids C: Sa taille
Je veux obtenir un graphique représentant en X son poids et en Y sa taille. Jusque là pas de problème j'arrive à représenter mon nuage de points avec tous les objets. Mais je n'arrive pas à différencier (par couleur ou par symbole) les points par leur Type (soit la colonne A), hors le but de ce graphique est de pouvoir observer que chaque types ont un rapport poids/taille différent les uns des autres.

Pourriez-vous m'aider à différencier mes points par leur Type et donc en utilisant la troisième colonne?

En vous remerciant!

Tiz
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 14'741
Appréciations reçues : 439
Inscrit le : 27 août 2012
Version d'Excel : O365 32 bits

Message par Jean-Eric » 28 février 2014, 18:38

:bv: :joindre: :merci:
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
T
Tiz
Nouveau venu
Nouveau venu
Messages : 5
Inscrit le : 28 février 2014
Version d'Excel : 2003 FR

Message par Tiz » 28 février 2014, 18:48

Oui pardon. Novice sur le forum aussi!
Voici une partie du document en question

http://cjoint.com/?0BCsVpFg5lP

Merci!
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 14'741
Appréciations reçues : 439
Inscrit le : 27 août 2012
Version d'Excel : O365 32 bits

Message par Jean-Eric » 28 février 2014, 19:43

Re,
Une question:
En réalité, quel est le nombre de types différents?
Cdlt.
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
T
Tiz
Nouveau venu
Nouveau venu
Messages : 5
Inscrit le : 28 février 2014
Version d'Excel : 2003 FR

Message par Tiz » 28 février 2014, 19:52

Il y a exactement 16 types. Mais si il est impossible d'en représenter autant sur le même graph, je peux en supprimer 5 (ou faire 2 graphs différents...)
T
Tiz
Nouveau venu
Nouveau venu
Messages : 5
Inscrit le : 28 février 2014
Version d'Excel : 2003 FR

Message par Tiz » 1 mars 2014, 23:08

Personne pour m'aider?
T
Tiz
Nouveau venu
Nouveau venu
Messages : 5
Inscrit le : 28 février 2014
Version d'Excel : 2003 FR

Message par Tiz » 2 mars 2014, 00:32

C'est bon!

Je viens de trouver par moi même après de multiples test.
Il fallait seulement "Ajouter les données" (onglet graphique) depuis notre graphique les unes après les autres selon leur type en précisant bien: Nouvelle série; et cocher la case "Abscisses (valeur X) dans la première colonne"... Et Hop magique la nouvelle série apparait différente de l'autre et je peux modifier les symboles ou les couleurs de chaque séries...
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 14'741
Appréciations reçues : 439
Inscrit le : 27 août 2012
Version d'Excel : O365 32 bits

Message par Jean-Eric » 2 mars 2014, 19:03

Bonsoir,
Sujet clos, mais une solution avec VBA.
Il y a évidemment un problème de lisibilité, et encore 3 types sont existants dans l'exemple sur les 16 réels.
Réalisé avec Excel 2010. Vérifier l'utilisation avec Excel 2003.
A te relire.
tiz TCD graphique XY VBA v1.xls
(39.5 Kio) Téléchargé 222 fois
Option Explicit
Public Sub CreatePT()
Dim Ws As Worksheet
Dim iCol As Integer, nb As Integer, i As Integer
Dim myRng As Range
Dim pc As PivotCache
Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
Dim cht As Chart
Dim X As Range, Y As Range

    Application.ScreenUpdating = False
    
    ' Initialisation des variables et des données
    Set Ws = Worksheets("Feuil1")
    For Each pt In Ws.PivotTables
        pt.TableRange2.Clear
    Next pt
    Set myRng = Ws.Range("A1").CurrentRegion
    iCol = Ws.Cells(1, Application.Columns.Count).End(xlToLeft).Column
    
    ' Création tableau croisé dynamique
    Set pc = ActiveWorkbook.PivotCaches.Add(SourceType:= _
        xlDatabase, SourceData:=myRng.Address)
    Set pt = pc.CreatePivotTable(TableDestination:=Ws. _
        Cells(4, iCol + 2), TableName:="TCD1")

    pt.AddFields RowFields:="Type", ColumnFields:="Masse"
    With pt.PivotFields("Longueur_max")
        .Orientation = xlDataField
        .Function = xlSum
        .NumberFormat = "#,##0"
        .Name = "Hauteur"
    End With

    With pt
        .ColumnGrand = False
        .RowGrand = False
    End With

    pt.PivotFields("Type").Subtotals(1) = True
    pt.PivotFields("Type").Subtotals(1) = False

    ' Création graphique
    Application.DisplayAlerts = False
    On Error Resume Next
    Charts("Graphique").Delete
    On Error GoTo 0
    Application.DisplayAlerts = True

    nb = pt.PivotFields("Type").PivotItems.Count
    Set cht = Charts.Add
    cht.Name = "Graphique"
    Set X = pt.PivotFields("Masse").DataRange
    With cht
        .ChartType = xlXYScatter
        For i = 1 To nb
            .SeriesCollection.NewSeries
            .SeriesCollection(i).XValues = X
            .SeriesCollection(i).Name = pt.PivotFields("Type").PivotItems(i)
            Set Y = pt.PivotFields("Type").PivotItems(i).DataRange
            .SeriesCollection(i).Values = Y
        Next
        .HasLegend = True
    End With

    Ws.Activate
    Cells(1, iCol + 2).Select

    Set Ws = Nothing: Set myRng = Nothing: Set pc = Nothing
    Set pt = Nothing: Set X = Nothing: Set Y = Nothing

End Sub
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message