Bonsoir les maîtres du VBA
Voila mon soucis
J'ai une liste de données dans la feuil3 qui peut varier en nombre de ligne mais pas en colonne. sous cette liste, j'ai fait une ligne de total.
Jusque là pas de soucis. Sous cette liste (qui peut donc varier en nombre de ligne, je souhaite ajouter un TCD automatiquement .
Grâce au forum et à l'enregistrement d'une macro, j'ai préparé le code suivant. Mon soucis: il me renvoie une erreur de type 1004 la methode pivottable de l'objet worksheet a échoué" à la ligne suivanteje pense qu'il me mettra également ce retour pour les lignes suivantes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 With Feuil3.PivotTables("Mon TCD") .AddFields ColumnField:="Qualite" .Position = 1 End With
pouvez vous m'aider?
Mon but est de pouvoir imprimer cette liste avec le tcd en dessous automatiquement.
A vous lire
bien cordialement
lps02
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 Sub CreerTCD() 'SourceData: Définit la source de données dans le TCD. '[Feuil1!A1].CurrentRegion.Address(, , xlR1C1, True) permet d'étendre 'automatiquement la sélection de façon à y inclure toute la zone en cours 'à partir de la cellule A1, dans la Feuil1. 'TableDestination: Définit la position du TCD (cellule A3 dans la Feuil2). 'TableName: Définit le nom du nouveau TCD. ("Mon TCD") Dim d As Long 'définition de la derniere ligne du tableau de données de la liste d = Worksheets("Feuil3").Range("A" & Worksheets("Feuil3").Rows.Count).End(xlUp).Row ThisWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=Worksheets("Feuil3").Range("A7:J" & d - 2)).CreatePivotTable _ TableDestination:="Feuil3!R" & d + 4 & "C1", _ TableName:="Mon TCD" 'Mise en forme: With Feuil3.PivotTables("Mon TCD") .AddFields RowFields:="Diametre" .Position = 1 End With With Feuil3.PivotTables("Mon TCD") .AddFields ColumnField:="Qualite" .Position = 1 End With Feuil3.PivotTables("Mon TCD").PivotFields ("Vol_Net"), "Somme de Vol_Net", xlSum End Sub
Partager