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
| Sub CREERTCD()
Dim wshTCD As Worksheet
Dim PvtTCD As PivotTable
Dim Maplage As Range
'
' CREERTCD Macro
'
' Sélection des données
Sheets("yData").Activate
Set Maplage = ActiveSheet.UsedRange
Maplage.Select
'Affectation du TCD à la feuille "TCD automatique"
Sheets.Add
ActiveSheet.Name = "TCD"
Set wshTCD = Worksheets("TCD")
'Ajout d'un TCD sur la feuille "TCD automatique"
Set PvtTCD = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=Maplage) _
.CreatePivotTable(tabledestination:=wshTCD.Range("B5"), TableName:="TCD_yData")
'Ajout des champs au TCD
With PvtTCD
'Ajout d'une Ligne ABREGE_SEMAINE
With .PivotFields("ABREGE_SEMAINE")
.Orientation = xlRowField
.Position = 1
.Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
End With
'Ajout d'une Ligne Date_debut
With .PivotFields("DEB_SEM")
.Orientation = xlRowField
.Position = 2
.Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
End With
'Ajout d'une Ligne Date_fin
With .PivotFields("FIN_SEM")
.Orientation = xlRowField
.Position = 3
.Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
End With
'Ajout d'une Ligne Type de seance
With .PivotFields("TYPE_SEANCE")
.Orientation = xlRowField
.Position = 4
.Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
End With
'Ajout d'une Ligne NOM_MATIERE
With .PivotFields("NOM_MATIERE")
.Orientation = xlRowField
.Position = 4
.Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
End With
'Ajout d'une Ligne Somme T1
With .PivotFields("REALISE_COEFF")
.Orientation = xlDataField
.Function = xlSum
End With
'Champs calculés
.CalculatedFields.Add Name:="CO_PREPA", Formula:="=SI(EXACT(T(TYPE_SEANCE)#'ACTION')#0#1)"
With .PivotFields("CO_PREPA")
.Orientation = xlDataField
.Function = xlSum
.Caption = "Coeff. Prépa."
End With
'mode tabulaire
.RowAxisLayout xlTabularRow
End With
End Sub |
Partager