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 -
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"
Quelqu'un verrait il mon erreur svp ?
Merci d'avance pour votre aide ! :)
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:
- Excel VBA : TCD sur feuille variable
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
1 réponse
J'ai touvé la solution :
La but est de placer la feuille et la plage variable dans une variable :
ce qui donne dans le TCD :
Et ça marche très bien
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