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 suivante
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
je pense qu'il me mettra également ce retour pour les lignes suivantes.

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