Bonjour,
J'ai crée un petit programme pour afficher un tableau en TCD.
Voici ce programme :
j'aimerais compléter ce programme en y rajoutant des lignes d'enregistrements :
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
43
44
45
46
47
48
49
50
51
52
53
54
55 Sub client() Rows("1:3").Select ' selection des 3 premières lignes Selection.Delete Shift:=xlUp 'suppression de ces 3 premières lignes 'supprimer la colonne A Columns("A:A").Delete Shift:=xlToLeft 'suppression de la derniere colonne With Range("A1").CurrentRegion.Columns(Range("A1").CurrentRegion.Columns.Count) .Select .Delete End With Range("A1").Value = "code client" Range("B1").Value = "nom client" Range("C1").Value = "identifiant colis" 'création du TCD Dim lastrow As Long Dim dercol As Long lastrow = Range("A1").End(xlDown).Row 'derniere ligne non vide du tableau dercol = Range("A1").End(xlToRight).Column 'derniere colonne non vide du tableau Range("A1").Select ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "'PJ Trafic par client'!R1C1:R" & lastrow & "C" & dercol).CreatePivotTable TableDestination:="", _ TableName:="Tableau croisé dynamique2", DefaultVersion:=xlPivotTableVersion10 ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1) ' le curseur se place sur la cellule "A1" ActiveSheet.Cells(3, 1).Select 'selection de la cellule "A1" ActiveSheet.PivotTables("Tableau croisé dynamique2").RowGrand = False ' supprimer le total des lignes du TCD With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _ "code client") .Orientation = xlColumnField .Position = 1 End With With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _ "nom client") .Orientation = xlColumnField .Position = 1 End With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("nom client"). _ Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _ False, False) End Sub
mon tableau comportent des dates qui font référencent a un nombre de colis flashés par jour.
Actuellement je complete mon TCD manuellement en rajouter une par une les date (6 jours)dans la rubrique "déposer données ici".
Puis je selectionne le champ "somme" dans la rubrique "parametre de champ".
Vous trouvez ci dessous ce que cela donne en vba lorsque j'enregistre cette tache.
Est il possible d'automiser cette tache.
Attention, ce sont jamais les mêmes dates
En resumé est il possible d'automatiser cette tache qui permettrait de
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 ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _ PivotTables("Tableau croisé dynamique1").PivotFields("20/02/2012"), _ "Nombre de 20/02/2012", xlCount ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _ PivotTables("Tableau croisé dynamique1").PivotFields("21/02/2012"), _ "Nombre de 21/02/2012", xlCount ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _ PivotTables("Tableau croisé dynamique1").PivotFields("22/02/2012"), _ "Nombre de 22/02/2012", xlCount ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _ PivotTables("Tableau croisé dynamique1").PivotFields("23/02/2012"), _ "Nombre de 23/02/2012", xlCount ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _ PivotTables("Tableau croisé dynamique1").PivotFields("24/02/2012"), _ "Nombre de 24/02/2012", xlCount ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _ PivotTables("Tableau croisé dynamique1").PivotFields("25/02/2012"), _ "Nombre de 25/02/2012", xlCount Range("A4").Select ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _ "Nombre de 20/02/2012").Function = xlSum Range("A5").Select ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _ "Nombre de 21/02/2012").Function = xlSum Range("A6").Select ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _ "Nombre de 22/02/2012").Function = xlSum Range("A7").Select ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _ "Nombre de 23/02/2012").Function = xlSum Range("A8").Select ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _ "Nombre de 24/02/2012").Function = xlSum Range("A9").Select ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _ "Nombre de 25/02/2012").Function = xlSum
Données Total
Somme de 20/02/2012 128164
Somme de 21/02/2012 134610
Somme de 22/02/2012 98582
Somme de 23/02/2012 112240
Somme de 24/02/2012 105024
Somme de 25/02/2012 8198
Partager