Nuage de points et croisé dynamique

Bonjour,

j'aimerai faire un nuage de points issu d'un tableau croisé dynamique mais excel 2013 refuse cette option. Je pense que en VBA nous pouvons faire quelque chose, mais je suis une quiche sur ce domaine !

J'ai fait des recherches mais visiblement seules les versions d'excel précédentes étaient capables de l'afficher correctement !

Je vous joint le fichier type, si une bonne âme peut m'aider.

Merci !

Bonjour,

Pour le principe.

Cdlt.

Merci pour cette réponse rapide !

Simple question si je remplace la colonne filtre par code, comment faire pour que l'ensemble des points soit affichés ? (sans créer un code par colonne )

Merci !

Re,

Je t'ai communiqué un exemple. On a jamais pu créer de nuages de points à partir d'un TCD.

Il faut s'affranchir de celui-ci.

Et il y a plusieurs solutions pour arriver à l'objectif.

Mais faut-il encore connaître cet objectif ?

Cdlt.

L'objectif étant d'avoir un nuage de point qui s'actualise en fonction des filtres. Typiquement filtre pays, emplois, et un nuage de point qui aurait pour valeur le salaire (en ordonnée) en fonction de l'age (en abscisse)

Du coup si il existe des solutions ça m'intéresse !

Bonjour,

Un nouvel exemple à adapter.

Cdlt.

Option Explicit

Public Sub TEST()
Dim ws As Worksheet
Dim pt As PivotTable
Dim ch As ChartObject
Dim X As Range, Y As Range
Dim LastRow As Long, lastCol As Long, I As Long, k As Long

    Application.ScreenUpdating = False
    Set ws = ActiveSheet
    Set pt = ws.PivotTables(1)
    Set ch = ws.ChartObjects(1)
    With ch.Chart
        Do While .SeriesCollection.Count > 0
            .SeriesCollection(1).Delete
        Loop
    End With
    LastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row
    lastCol = pt.TableRange1.Columns.Count
    Set X = ws.Range(Cells(6, 1), Cells(LastRow, 1))
    k = 1
    For I = 2 To lastCol
        ch.Chart.SeriesCollection.NewSeries
        ch.Chart.SeriesCollection(k).XValues = X
        Set Y = ws.Range(Cells(6, I), Cells(LastRow, I))
        ch.Chart.SeriesCollection(k).Values = Y
        k = k + 1
    Next I

    Set Y = Nothing: Set X = Nothing
    Set ch = Nothing
    Set pt = Nothing
    Set ws = Nothing

End Sub
Rechercher des sujets similaires à "nuage points croise dynamique"