MACRO EXCEL - création TCD

Résolu/Fermé
BipBip - 6 mai 2011 à 16:30
 BipBip - 6 mai 2011 à 16:40
Bonjour, c'est encore moi... :-)

J'ai un souci pour créer un tableau croisé dynamique par vba. J'ai une erreur vba du type "argument ou appel de procédure incorrect". Voici mon code, si voyez une erreur :

Note : j'utilise Excel 2010



Sub TCD()

Dim q
For q = 1 To 7 Step 1
 
Sheets("Q" & q).Activate
Sheets("Q" & q).Range("A3").Select
    
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
  
Sheets.Add.Name = "Q" & q & "TCD"
   
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "'Q1'!A3:IX1021", Version:=xlPivotTableVersion14).CreatePivotTable _
        TableDestination:="'Q1TCD'!A3", TableName:="Tableau croisé dynamique" & q, _
        DefaultVersion:=xlPivotTableVersion14

Next q
End Sub




A voir également:

1 réponse

J'ai trouvé la solution, voici mon code modifié :

Sub tcd()
Dim q
Dim source As String
Dim nom As String

For q = 1 To 7 Step 1

source = "Q" & q & "!R3C1:R1021C258"
nom = "Q" & q & "TCD"

Sheets("Q" & q).Activate
Sheets("Q" & q).Range("A3").Select

Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select

Sheets.Add.Name = "Q" & q & "TCD"
ActiveSheet.Range("A3").Select

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
source).CreatePivotTable TableDestination:=Selection, TableName:=nom

Next q
End Sub
0