AUTOMATISATION tableau croisé dynamique avec macro vba
Fermé
jacinthelafleur
Messages postés88Date d'inscriptionmercredi 19 décembre 2012StatutMembreDernière intervention 7 octobre 2013
-
27 déc. 2012 à 16:22
Bonjour, j'ai la macro suivante:
Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 19/12/2012 par dossou
'
'
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"'Base '!R4C2:R77C13").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("type de produit", "Objet", "Devise", "Entité", "Données")
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Sept YTD")
.Orientation = xlDataField
.Caption = " Sept YTD"
.Position = 1
.Function = xlSum
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Variation sept/oct €")
.Orientation = xlDataField
.Caption = " Variation sept/oct €"
.Position = 2
.Function = xlSum
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Oct YTD" _
)
.Orientation = xlDataField
.Caption = " Oct YTD"
.Position = 3
.Function = xlSum
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Variation oct/nov €")
.Orientation = xlDataField
.Caption = " Variation oct/nov €"
.Position = 4
.Function = xlSum
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Nov YTD" _
)
.Orientation = xlDataField
.Caption = " Nov YTD"
End With
Range("E3").Select
With ActiveSheet.PivotTables("Tableau croisé dynamique1").DataPivotField
.Orientation = xlColumnField
.Position = 1
End With
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotSelect "' Oct YTD'", _
xlDataAndLabel, True
Range("F13").Select
ActiveWindow.SmallScroll Down:=18
Range("G32").Select
Selection.NumberFormat = "0.0000000000"
Selection.NumberFormat = "0.000000000"
ActiveWindow.SmallScroll Down:=-27
Range("H7").Select
ActiveWindow.SmallScroll Down:=0
Sheets("Recap").Select
ActiveWindow.SmallScroll Down:=-30
Sheets("Feuil5").Select
Columns("H:H").ColumnWidth = 15.43
Columns("H:H").ColumnWidth = 18.14
Range("E5:I109").Select
Selection.NumberFormat = "0.00"
End Sub
ma question est comment modifier ma macro de telle sorte que macro puisse me permettre de créer automatiquement mon tableau croisé dynamique tout en tenant compte des nouvelles données de ma base de données (c'est à dire prendre compte les données de decembre et variation novembre decembre et les données à venir janvier fevrier mars etc)? Il doit avoir un moyen me permettant avec une macro d'avoir un tableau dynamique qui prends en compte les données futures des mois suivant mais lequel de moyen. Merci pour votre réponse.
A voir également:
AUTOMATISATION tableau croisé dynamique avec macro vba