TCD avec plage variable

bubus31

XLDnaute Nouveau
Bonjour,

j'essaie de faire une macro pour créer un tableau croisé dynamique avec une plage de données variable. Voici ma macro qui ne fonctionne pas:
Sub macro()
Sheets("Liste pièces").Select
Dim lignefin As Integer
Dim colfin As Integer
Dim lignedep As Integer
Dim coldep As Integer
lignefin = Cells(1, 1).CurrentRegion.Rows.Count
colfin = Cells(1, 1).CurrentRegion.Columns.Count
lignedep = 7
coldep = 2
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"'Liste pièces'!R" & lignedep & "C" & coldep & ":R" & lignefin & "C" & colfin).CreatePivotTable TableDestination:="", _
TableName:="Tableau croisé dynamique1"
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("Tableau croisé dynamique1").SmallGrid = False

End Sub


Quelqu'un pourrait m'aider a determiner ce qui cloche??
merci beaucoup!!

Bubus
 

RENAUDER

Nous a quitté
Repose en paix
Re : TCD avec plage variable

Bonjour,
Avec les TCD, je procède comme suit :
Je nomme ma plage BD avant la création pour mettre ce nom à pour SourceData et je donne un nom TCD au lieu de "Tableau croisé dynamique1" pour TableName

Code:
 Range("A1").CurrentRegion.Select
    ActiveWorkbook.Names.Add Name:="BD", RefersToR1C1:=Selection
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
                                   "BD").CreatePivotTable _
                                   TableDestination:="", TableName:="TCD", _
                                   DefaultVersion:=xlPivotTableVersion10
    ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
 

bubus31

XLDnaute Nouveau
Re : TCD avec plage variable

Bonjour,

merci pour la reponse!
mais je ne comprend pas vraiment en fait...si par exemple je rajoute une ligne ou plusieurs à mon tableau, est ce qu'il va automatiquement le detecter et les inserer ou je vais devoir lui definir les limites de ma plage?

merci bien,


Bubus
 

bubus31

XLDnaute Nouveau
Re : TCD avec plage variable

Rebonjour Eric,

en fait ta macro correspond tout a fait a ce que je recherche. Par contre elle ne reconnait pas "DefaultVersion:=xlPivotTableVersion10", là elle me met un message d'erreur...

Tu ne sais pas pourquoi?

Merci d'avance,

cordialement,


Bubus
 

RENAUDER

Nous a quitté
Repose en paix
Re : TCD avec plage variable

Bonjour,

Tu enregistres via l'enregistreur de macro la création de ton TCD et tu regardes ce qu'il met à DefaultVersion:=?????.
Ce paramètre est lié à ta version d'Excel.
Chez moi c'est du XL 2003
 

RENAUDER

Nous a quitté
Repose en paix
Re : TCD avec plage variable

Bonjour,
C'est vrai que sous XL 2000 c'est différent.
Voici en exemple avec 3 colonnes
Code:
Sub ConstruitTCD()
Range("A1").CurrentRegion.Select
ActiveWorkbook.Names.Add "BD", RefersToR1C1:=Selection
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        "BD").CreatePivotTable TableDestination:="", TableName:= _
        "TCD"
    ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
     ActiveSheet.Cells(3, 1).Select
        ActiveSheet.PivotTables("TCD").AddFields RowFields:="A" _
        , ColumnFields:="B"
    ActiveSheet.PivotTables("TCD").PivotFields("C"). _
        Orientation = xlDataField
End Sub
 

mthkre

XLDnaute Nouveau
Re : TCD avec plage variable

Bonjour, j'ai suivi le script que vous fournissez mais j'aarive au message d'erreur suivant (voir photo)
Pouvez-vous m'aider ?

Capture.PNG
 

Pièces jointes

  • Capture.PNG
    Capture.PNG
    44.7 KB · Affichages: 231
  • Capture.PNG
    Capture.PNG
    44.7 KB · Affichages: 216

Misange

XLDnaute Barbatruc
Re : TCD avec plage variable

Bonjour

Il est mieux de commencer une nouvelle conversation plutot que de continuer un fil datant de 2007 !
Quelle est la version d'excel ?
Si tu as une version 2007 ou plus, il te suffit de mettre le tableau de données source du TCD (la base) sous forme d'un vrai tableau excel (onglet accueil/style/mettre sous forme de tableau). Toute donnée ajoutée juste en dessous du tableau s'y ajoute automatiquement. Il te suffit alors d'actualiser le TCD, manuellement ou par macro. C'est tout et c'est ultr simple.
 

mthkre

XLDnaute Nouveau
Re : TCD avec plage variable

Bonjour,

En réalité je dois créer une macro générant un tcd qui peut fonctionner
Pour chaque feuille de mon classeur.
Dans chaque feuille, le tableau de données n'est jamais le même, il n'a pas la même longueur, d'où la création d'une
Plage de sélection (ou la tentative...)..

Le début de mon script ressemble à la photo postée précédemment et ça ne fonctionne pas..
Je suis sur excel 2010!
D'avance merci!
 

Misange

XLDnaute Barbatruc
Re : TCD avec plage variable

Les tableaux portent un nom. Tu peux les nommer en référence à la feuille si ça t'arrange. Par exemple sur la feuille 1 tu appelles ton tableau base de données BDD1. Dans ton code il te suffit alors de récupérer le nom de la feuille et de créer ton TCD1 en utilisant le nom BDD1 comme source. L'avantage est double : 1) même si tes bdd n'ont pas le même nombr de lignes ou de colonnes cela fonctionne.
2) une fois créé avec ce tableau ton TCD prendra en compte les modifs de ce la base.
plus d'infos sur le tableaux
Ce lien n'existe plus

Par ailleurs, si tu avais posé ta question dans un nouveau fil tu aurais eu l'occasion de lire qu'ici il est fortement conseillé de joindre un petit classeur exemple (et pas une image) pour illustrer ta question et permettre aux répondeurs éventuels de tester.
 

nakajima

XLDnaute Nouveau
Re : TCD avec plage variable

Bonjour à tous,

Dans le même ordre d'idée j'ai essayé de modifier le code exécuté à partir de l'enregistrement d'une macro mais là bernic !

Dans un bon de livraison dont je ne connais pas le nb de ligne, Je souhaite effectuer un TCD avant que ma macro ne fasse des sous totaux.
Mais à chaque fois, la macro insère des lignes alors que je voudrais qq ch de plus simple tenant sur 5 lignes. mouh ....:p.

Une piste, un petit coup de main serait le bienvenu cela permettrait de le mettre à dispo de mes collègues de la "prod"
 

Pièces jointes

  • BordereauLivraison.zip
    30.3 KB · Affichages: 105

Discussions similaires

Réponses
1
Affichages
535

Statistiques des forums

Discussions
312 499
Messages
2 089 002
Membres
104 002
dernier inscrit
SkrauzTTV