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
| Dim x As Integer
Dim i As Integer
' on place tous à true
With Sheets("courbe jours").PivotTables("Tableau croisé dynamique1").PivotFields( _
"année")
For i = 0 To ListBox1.ListCount - 1
If ListBox1.List(i) <> "" Then
.PivotItems(ListBox1.List(i) & "").Visible = True
End If
Next i
For i = 0 To ListBox1.ListCount - 1
If ListBox1.List(i) <> "" Then
If ListBox1.Selected(i) = False Then
.PivotItems(ListBox1.List(i) & "").Visible = False
Else
.PivotItems(ListBox1.List(i) & "").Visible = True
End If
End If
Next i
' raffraichir les données du tableau croisé dynamique
Set CurrentChart = Sheets("courbe jours").ChartObjects(1).Chart ' référencé l'objet CurrentChart, là dans l'exemple, c'est le 1er graphique "ChartObjects(1)"
Sheets("courbe jours").ChartObjects("Graphique 2").Activate ' active le graphique qui s'appelle "Graphique 1"
ActiveChart.ChartArea.Select
ActiveChart.ShowWindow = True
fname = ThisWorkbook.Path & "\temp2.gif" ' attribution d'un nom pour l'export du graphique, dans le dossier courant du fichier
CurrentChart.Export Filename:=fname, FilterName:="GIF"
UserForm6.Image1.Picture = LoadPicture(fname) ' ensuite j'ai créé un UserForm (userform6) avec juste une image (vierge, qui s'appelle Image1), qui charge donc l'image venant d'être enregistré.
End With
End Sub |
Partager