Bonjour a tous,
Je déterre ce sujet,
une nouvelle fois on me demande de créer des tableaux croisés dynamiques lia du LS.
et la 'réinterpretation' du VBA ne vonctionne pas dans ce cas de figure.
en VBA:
- Code : Tout sélectionner
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Donnée!R1C1:R34C8").CreatePivotTable TableDestination:="", TableName:= _
"Tableau croisé dynamique2", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("Tableau croisé dynamique2").AddFields RowFields:= _
Array("Action", "Données"), ColumnFields:="Analyste BPI"
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Nb")
.Orientation = xlDataField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _
"Delais (nb jours)")
.Orientation = xlDataField
.Caption = "Moyenne de Delais (nb jours)"
.Function = xlAverage
.NumberFormat = "0"
End With
en LS (de mon cru qui ne fonctionne pas...) :
- Code : Tout sélectionner
...
'Test tableau croisé dynamique :
Dim ActiveWorkbook As Variant
Dim ActiveSheet As Variant
Dim temp As Variant
Set ActiveWorkbook = applicat.ActiveWorkbook
Set ActiveSheet = applicat.ActiveSheet
Call ActiveWorkbook.PivotCaches.Add(1, "Donnée!R1C1:R34C8").CreatePivotTable("","Tableau croisé dynamique2",-4148)
Call ActiveSheet.PivotTableWizard(ActiveSheet.Cells(3, 1))
ActiveSheet.Cells(3, 1).Select
Call ActiveSheet.PivotTables("Tableau croisé dynamique2").AddFields("Action", "Données","Analyste BPI")
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Nb")
.Orientation = xlDataField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Delais (nb jours)")
.Orientation = xlDataField
.Caption = "Moyenne de Delais (nb jours)"
.Function = xlAverage
.NumberFormat = "0"
End With
il me sort un message d'erreur a 1er call : "Automation object member not found".
Merci d'avance pour votre aide.