Excel VBA : TCD sur feuille variable

Résolu
Eaheru Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   -  
Eaheru Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'essaie de créer un tableau croisé dynamique, à la volée, sur des onglets dont le nom est paramétré.
Le nom de la variable contenant le nom de la feuille ou se trouve les données est "NomOp"
et cette variable peut prendre une multitude de valeurs différentes (mais en chaine de caractères)

La syntaxe doit être mauvaise car j'ai une erreur "Propriété ou méthode non gérée par cet objet"

'ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ 
'    Sheets(NomOp) & "!R1C1:R" & lasti & "C14", Version:=xlPivotTableVersion12). _ 
'    CreatePivotTable TableDestination:=Cells(lasti, 1).Offset(1, 0) & "C1", TableName:= _ 
'    "Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion12


Quelqu'un verrait il mon erreur svp ?
Merci d'avance pour votre aide ! :)
A voir également:

1 réponse

Eaheru Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   20
 
J'ai touvé la solution :
La but est de placer la feuille et la plage variable dans une variable :
Sel = Worksheets(NomOp).Range("A1:N" & lasti).Address(True, True, xlR1C1, True)


ce qui donne dans le TCD :
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
    Sel, Version:=xlPivotTableVersion12). _
    CreatePivotTable TableDestination:=Cells(lastj, 1).Offset(2, 0), TableName:= _
    "Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion12


Et ça marche très bien
1