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 58
|
Sub GraphParEmploye(ByVal NbOffres As Integer, ByVal ddebut As Date, ByVal dfin As Date, ByRef ListeOffres() As String, ByRef ListeCT() As String)
'crée un graphique des dépenses par employés
Dim tri As Boolean
Dim debut As Integer
Dim i As Long
Dim j As Long
Dim k As Long
Dim tmp As String
Dim InfoDate As Date
Dim SemDate As String
Dim SemDateTmp As String
Dim EmpTmp As String
Dim zone As Range
Dim limite As Long
tri = False
TCDEMPLOYES.Range("A2", "F65536").Clear 'on supprime les dépenses d'anciennes recherches
Depenses.AfficheOuMasque False
'je fait du tri sur les données
'je cherche, copie et retrie mes données
'on crée le tableau croisé
With TCDEMPLOYES
limite = .Range("A1").End(xlDown).Row
Set zone = .Range(.Cells(1, 1), .Cells(limite, 6))
.Range("H1", "IV65536").Delete 'on supprime l'éventuel ancien tableau
.Visible = xlSheetVisible 'on affiche la feuille (on ne peut créer un graphique sur une feuille cachée)
ThisWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=zone).CreatePivotTable _
TableDestination:=.Range("H3"), TableName:="Détails des dépenses par employés"
ThisWorkbook.ShowPivotTableFieldList = True 'création du tableau
'.Visible = xlSheetHidden 'on cache la feuille
With .PivotTables("Détails des dépenses par employés")
'je définit la position des données
End With
End With
'''''C'est ici que ça devient drôle'''''
'création du graphique
On Error Resume Next
Sheets("GRAPHEMPLOYE").Delete 'on supprime l'éventuel graphique déjà existant
Charts.Add 'on crée un graphique
With ActiveChart
.SetSourceData source:=TCDEMPLOYES.Range("H1") 'on définit sa source de données (ici le tableau)
.Location Where:=xlLocationAsNewSheet 'on le place sur une nouvelle feuille
.ChartType = xlAreaStacked 'on définit le type de graphique
ActiveSheet.Name = "GRAPHEMPLOYE" 'on nomme la feuille
.HasTitle = True
.ChartTitle.Characters.Text = "graphique des employés" 'on donne le titre du graphique
.Legend.Position = xlLegendPositionBottom 'on place la légende
.Legend.Font.Size = 7
End With
End Sub |
Partager