Salut à tous,
Encore un problème avec ces PivotTable : ce coup-ci c'est au niveau de la création dynamique des PivotTable que ça se passe.
Je voudrais afficher une série de PivotTable l'un en dessous des autres en ne faisant varier que le 2ème PivotField en xlRowField.
Avec le PivotItems.Visible j'arrive à obtenir les tableaux individuellement, mais là où ça coince, c'est lorsque j'essaye de générer dynamiquement ces tableaux avec une simple boucle et en ne faisant varier que la ligne du TableDestination et le TableName.
Voilà un résumé du code :
Je sais pas si j'ai été assez clair, donc n'hésitez à me demander des précisions en cas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 For i = 1 to NbItems Dim PTName As String PTName = "PivotTable" & i ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "DATA!A1:P500").CreatePivotTable TableDestination:= _ "RESULT!R" & derLTot & "C1", TableName:=TabPTName, DefaultVersion:= _ xlPivotTableVersion10 With ActiveSheet.PivotTables(PTName).PivotFields("données1") .Orientation = xlRowField .Position = 1 End With With ActiveSheet.PivotTables(PTName).PivotFields("données2") .Orientation = xlRowField .Position = 2 End With For j = 1 To NbItems ActiveSheet.PivotTables(PTName).PivotFields("données2").PivotItems(ListeDonnées2(j)).Visible = True Next j For j = 1 To NbItems If ListeDonnées2(i) <> ListeDonnées2(j) Then ActiveSheet.PivotTables(PTName).PivotFields("Techno_FatherLot").PivotItems(ListeDonnées2(j)).Visible = False End If Next j With ActiveSheet.PivotTables(PTName).PivotFields("données3") .Orientation = xlColumnField .Position = 1 End With ActiveSheet.PivotTables(PTName).AddDataField ActiveSheet.PivotTables( _ PTName).PivotFields("Nbdonnées"), "Somme des données", xlSum j = 1 While Cells(1, j).Value <> "" j = j + 1 Wend derLTot = derLTot + j + 5 Next i![]()
Merci d'avance
Partager