Bonjour à tous,
J'ai cette macro dont le but est d'ajouter un tableau croisé dynamique qui viendrait s'ajouter sur une autre feuille d'un fichier externe.
Si j'utilise ma macro en utilisant la fenêtre VBA (en actionnant ma macro depuis cette dernière) depuis mon fichier "Stock" alors la macro tourne bien, et ça crée bien un TCD.
Mon problème est que si je fais tourner ma macro à partir du bouton créé sur mon fichier principal, alors j'ai le message d'erreur suivant :
Code :Erreur d'execution '1004'
Le nom du champ de tableau croisé dynamique n'est plus valide. Pour créer un rapport de tableau croisé dynamique, vous devez utiliser des données sous forme de liste avec des étiquettes de colonnes. Si vous changez le nom d'un champ de tableau croisé dynamique, vous devez taper un nouveau nom pour le champ.
En rouge ou l'erreur se produit.
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 CreatePivotTable() Dim sht As Worksheet Dim pvtCache As PivotCache Dim pvt As PivotTable Dim StartPvt As String Dim SrcData As String 'Determine the data range you want to pivot SrcData = ActiveSheet.Name & "!" & Range("A1:N5000").Address(ReferenceStyle:=xlR1C1) 'Create a new worksheet Set sht = Workbooks("Stock").Worksheets.Add 'Where do you want Pivot Table to start? StartPvt = sht.Range("A3").Address(ReferenceStyle:=xlR1C1, External:=True) 'Create Pivot Cache from Source Data Set pvtCache = Workbooks("Stock").PivotCaches.Create( _ SourceType:=xlDatabase, _ SourceData:=SrcData) 'Create Pivot table from Pivot Cache Set pvt = pvtCache.CreatePivotTable( _ TableDestination:=StartPvt, _ TableName:="PivotTable1") End Sub
Un grand merci à vous pour votre aide.
Partager