Excel VBA : TCD sur feuille variable

Résolu/Fermé
Eaheru Messages postés 197 Date d'inscription mercredi 23 juin 2010 Statut Membre Dernière intervention 12 mars 2018 - Modifié par Eaheru le 30/08/2011 à 09:56
Eaheru Messages postés 197 Date d'inscription mercredi 23 juin 2010 Statut Membre Dernière intervention 12 mars 2018 - 30 août 2011 à 12:18
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 mercredi 23 juin 2010 Statut Membre Dernière intervention 12 mars 2018 20
30 août 2011 à 12:18
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