Macro VBA et tableau croisé dynamique
Bonjour à tous,
J'ai un petit soucis avec une de mes macros que je tente de developper.
Je ne m'y connais quasiment pas en VBA, alors j'utilise beaucoup l'enregistreur de macro.
Mon but est d'obtenir le tbc sous cette forme :
http://zepload.com/images/1280492847_2.JPG
au lieu de celle là :
http://zepload.com/images/1280492791_1.JPG
La macro n'arrive pas à enregistrer correctement le drag & drop du champ donnée dans la case où est inscrit "somme". (voir 1er screenshot)
J'ai pensé à 2 solutions :
- soit obtenir directement le tbc sous la forme voulue en le paramètrant (mais j'ai beau avoir cherché je n'ai pas réussi à trouver le réglage pour obtenir le tbc directement sous cette forme)
- soit reussir à modifier la macro pour qu'elle puisse m'enregistrer la modification de la presentation du tbc
Est-ce possible selon vous ? Pouvez vous m'aider ?
Je precise que j'utilise Excel 2000 (wahouu quelle chance... !)
Merci beaucoup d'avance !
Voici la macro :
Code:
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
| Sub TatCivil()
'
' TatCivil Macro
' Macro enregistrée le 30/07/2010 par T0118096
'
'
Sheets("TAT Civil 2010").Select
Range("G3:S2500").Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"'TAT Civil 2010'!R3C7:R2500C19").CreatePivotTable TableDestination:="", _
TableName:="Tableau croisé dynamique2"
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
With ActiveSheet.PivotTables("Tableau croisé dynamique2")
.ColumnGrand = False
.RowGrand = False
.SmallGrid = False
End With
ActiveSheet.PivotTables("Tableau croisé dynamique2").AddFields RowFields:= _
Array("PN", "Données")
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("PN")
.Orientation = xlDataField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("TAT FRS" _
)
.Orientation = xlDataField
.Caption = "Moyenne TAT FRS"
.Position = 2
.Function = xlAverage
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _
"Délai réalisation devis")
.Orientation = xlDataField
.Caption = "Moyenne Délai réalisation devis"
.Function = xlAverage
End With
Charts.Add
ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range("A3")
ActiveChart.Location Where:=xlLocationAsNewSheet
Sheets("Feuil1").Select
Range("B3").Select
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Données" _
)
.Orientation = xlColumnField
.Position = 1
End With
End Sub |