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 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
| Sub FFonctionnement()
'
' Macro enregistrée le 15/01/2013 par b276573
'
'
'Sheets("intéresst").Select
'ActiveWindow.SelectedSheets.Visible = False
'And sht.Name <> "nom onglet" à ajouter si on veut laisser un autre onglet egalement
Dim sht As Object
For Each sht In ActiveWorkbook.Worksheets
If sht.Name <> "Extraction H - frais fonct" Then sht.Visible = False
Next sht
Application.DisplayAlerts = False
Worksheets("Extraction H - frais fonct").Name = "Base"
Worksheets("Base").Activate
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"'Base'!R1C1:R65000C22").CreatePivotTable TableDestination:="", TableName:= _
"Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("Tableau croisé dynamique1").AddFields RowFields:= _
Array("Service Herakles", "centre de frais", "Données")
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Solde Réalise 2012")
.Orientation = xlDataField
.Caption = "Réalisé 2012"
.Position = 1
.Function = xlSum
.NumberFormat = "#,##0"
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Solde Réalisé")
.Orientation = xlDataField
.Caption = "Réalisé 2013"
.Position = 2
.Function = xlSum
.NumberFormat = "#,##0"
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"ENGAGE")
.Orientation = xlDataField
.Caption = "Engagé"
.Position = 3
.Function = xlSum
.NumberFormat = "#,##0"
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Actu3 2012")
.Orientation = xlDataField
.Caption = "Actu 2012"
.Position = 4
.Function = xlSum
.NumberFormat = "#,##0"
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Notif 2013")
.Orientation = xlDataField
.Caption = " Budget 2013"
.Position = 5
.Function = xlSum
.NumberFormat = "#,##0"
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").DataPivotField
.Orientation = xlColumnField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Etablissement"): .Orientation = xlPageField: .Position = 1: End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Secteur Herakles"): .Orientation = xlPageField: .Position = 2: End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("poste"): .Orientation = xlPageField: .Position = 3: End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("lib poste"): .Orientation = xlPageField: .Position = 4: End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Sous-section / Centre de frais"): .Orientation = xlPageField: .Position = 5: End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Type de poste"): .Orientation = xlPageField: .Position = 6: End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("direction Herakles"): .Orientation = xlPageField: .Position = 7: End With
ActiveWorkbook.ShowPivotTableFieldList = False
ActiveWorkbook.ShowPivotTableFieldList = True
ActiveWorkbook.ShowPivotTableFieldList = False
Columns("H:H").ColumnWidth = 20.14
Rows("10:10").RowHeight = 27.75
'Range("H10") = " Engagé N non " & Chr(10) & "soldé à date"
'Range("H10").Select
'With Selection
'.HorizontalAlignment = xlGeneral
'.VerticalAlignment = xlBottom
'.WrapText = True
'.Orientation = 0
'.AddIndent = False
'.IndentLevel = 0
'.ShrinkToFit = False
'.ReadingOrder = xlContext
'.MergeCells = False
'End With
ActiveSheet.PivotTables("Tableau croisé dynamique1").CalculatedFields.Add _
"Engagé + réel", "='Solde Réalisé' +'ENGAGE'", True
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Engagé + réel"). _
Orientation = xlDataField
ActiveSheet.PivotTables("Tableau croisé dynamique1").DisplayErrorString = True
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Somme de Engagé + réel")
.NumberFormat = "#,##0"
End With
ActiveSheet.PivotTables("Tableau croisé dynamique1").DataPivotField.PivotItems( _
"Somme de Engagé + réel").Caption = "Engagé + réalisé"
ActiveSheet.PivotTables("Tableau croisé dynamique1").CalculatedFields.Add _
"Avancement", "='Solde Réalisé' /'Notif 2013'", True
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Avancement"). _
Orientation = xlDataField
ActiveSheet.PivotTables("Tableau croisé dynamique1").DisplayErrorString = True
Range("I12").Select
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Somme de Avancement")
.NumberFormat = "0%"
End With
ActiveSheet.PivotTables("Tableau croisé dynamique1").DataPivotField.PivotItems( _
"Somme de Avancement").Caption = "Avancement %"
Columns("A:A").ColumnWidth = 35
Dim AB As PivotItem
For Each AB In ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Service Herakles").PivotItems
If (AB.Name <> "(vide)") Then
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Service Herakles").PivotItems(AB.Name).Visible = True
End With
Else:
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Service Herakles")
.PivotItems(AB.Name).Visible = False
End With
End If
Next AB |
Partager