MACRO EXCEL - création TCD

Résolu
BipBip -  
 BipBip -
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



1 réponse

  1. BipBip
     
    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