Tableau croisé dynamique avec une macro

Nazim

XLDnaute Junior
Bonjour,

je tente depuis deux jours à trouver une solution pour automatiser la création d'un TCD sans résultat alors je me suis permis de vous demander de l'aide.

Je souhaite mettre en place une macro qui m'automatisera la création d'un tableau croisé dynamique.
je met en pièce jointe un exemple de jeu de données et aussi le tableau que je souhaite obtenir a la fin.
(Sachant que la taille du fichier peut être différente d'un fichier a un autre mais la disposition des colonnes est toujours la même)

Je vous remercie pour votre aide,

Regards,
Nazim
 

Pièces jointes

  • TDC.xlsx
    19.1 KB · Affichages: 36
  • TDC.xlsx
    19.1 KB · Affichages: 28
Dernière modification par un modérateur:

Nazim

XLDnaute Junior
Re : Tableau croisé dynamique avec une macro

Ce que j'ai fait, j'ai enregistré une macro, mais je n'arrive pas à la réutilisée.
Sub Macro2()
'
' Macro2 Macro
'

'
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Fichier retraité!R4C1:R184C15", Version:=xlPivotTableVersion12). _
CreatePivotTable TableDestination:="Feuil1!R3C1", TableName:= _
"Tableau croisé dynamique2", DefaultVersion:=xlPivotTableVersion12
Sheets("Feuil1").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _
"Is ticket a Faible/MI?")
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.PivotTables("Tableau croisé dynamique2").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique2").PivotFields("Is ticket a Faible/MI?"), _
"Nombre de Is ticket a Faible/MI?", xlCount
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Entity")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _
"Resolve Month")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _
"Resolve Month")
.Orientation = xlColumnField
.Position = 1
End With
End Sub

Au débegage, j'ai une erreur au niveau de l'instruction 2 "" Argument ou appel de
procédure incorrcet"."

Merci encore une fois :)
 

job75

XLDnaute Barbatruc
Re : Tableau croisé dynamique avec une macro

Bonjour Nazim, tatiak,

Comme toutes les macros enregistrées il fallait la nettoyer et la compléter :

Code:
Sub CreerTCD()
With Feuil4 'CodeName de la feuille du TCD
  .Cells.Delete 'RAZ
  ThisWorkbook.PivotCaches.Create(xlDatabase, [A4].CurrentRegion).CreatePivotTable .[A3], "TCD1"
  With .PivotTables(1).PivotFields([A4].Text)
    .Orientation = xlRowField
    .Position = 1
  End With
  .PivotTables(1).AddDataField .PivotTables(1).PivotFields([A4].Text), "Nombre de " & [A4], xlCount
  With .PivotTables(1).PivotFields([B4].Text)
    .Orientation = xlRowField
    .Position = 1
  End With
  With .PivotTables(1).PivotFields([E4].Text)
    .Orientation = xlColumnField
    .Position = 1
  End With
  .Activate
End With
End Sub
Fichier joint.

A+
 

Pièces jointes

  • TDC(1).xlsm
    25 KB · Affichages: 42
Dernière édition:

Discussions similaires

Réponses
2
Affichages
160

Statistiques des forums

Discussions
312 023
Messages
2 084 714
Membres
102 637
dernier inscrit
TOTO33000