Bonjour,

J'aimerai faire afficher un graphique lors de l'apparition d'un TCD sur un sheet.

En gros il faudrait que le graphique soit relié aux données du TCD, du coup j'ai fait un code permettant de prendre les données de ma BDD et de créé un TCD, jusque là, pas trop de souci, mais à l'affichage du TCD, le graphique est "VIERGE", il n'y a pas de données à l'intérieur...

J'ai essayé a plusieurs reprises de rentrer des données dans le SourceData de mon graphique sans succés, une idée sur ce problème ?

Mon code : (la partie en bleu à revoir donc...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Private Sub CommandButton2_Click() 'Bouton Graphique Croisé Dynamique
If Workbooks("Extraction").Sheets("BDD").Range("A1").Value = "" Then
MsgBox "Merci d'effectuer une extraction afin de pouvoir analyser des données.", vbCritical
Else
On Error Resume Next
Sheets("GCD").Activate

'Suppression des GCD et TCD Précédents
Sheets("GCD").Rows("6:1048000").Delete Shift:=xlUp
Sheets("GCD").Range("A6:ZZ1048000").ClearContents

'pour la dernière ligne de la BDD :
derlig = Sheets("BDD").Range("A" & Rows.Count).End(xlUp).Row

'pour la dernière colonne de la BDD :
dercol = Sheets("BDD").Cells(1, Cells.Columns.Count).End(xlToLeft).Column
LetCol = Split(Cells(1, dercol).Address, "$")(1)

'Création TCD et GCD avec mise en forme :

    Range("A1:" & LetCol & derlig).Select
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "BDD!R1C1:R" & derlig & "C" & dercol, Version:=xlPivotTableVersion15).CreatePivotTable _
        TableDestination:="GCD!R10C1", TableName:="Tableau croisé dynamique1", _
        DefaultVersion:=xlPivotTableVersion15
    Sheets("GCD").Select

    With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Recette" _
        )
        .Orientation = xlRowField
        .Position = 1
    End With
    ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _
        PivotTables("Tableau croisé dynamique1").PivotFields("Conformité Densité"), _
        "Somme de Conformité Densité", xlSum
    With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
        "Conformité Densité")
        .Orientation = xlPageField
        .Position = 1
    End With
    
    'Ajout d'un graphique
    Sheets("GCD").Activate
'    'pour la dernière ligne de la GCD :
'    derlig1 = Sheets("GCD").Range("A" & Rows.Count).End(xlUp).Row - 1
'    'pour la dernière colonne de la GCD :
'    dercol1 = Sheets("GCD").Cells(11, Cells.Columns.Count).End(xlToLeft).Column
'    LetCol1 = Split(Cells(1, dercol1).Address, "$")(1)

        ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
        ActiveChart.Parent.Name = "Graphique"
        'x = "GCD!A8"
        x = "[Extraction.xlsb]GCD!Tableau croisé dynamique1"
        ActiveChart.SetSourceData Source:=x

End If
End Sub
Merci d'avance.

Cordialement.

GK