Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1438 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA/EXcel] Faire plusieurs Tableaux croisés Dyn.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA/EXcel] Faire plusieurs Tableaux croisés Dyn.

n°1992707
greatdevil
Posté le 12-05-2010 à 17:51:12  profilanswer
 

Bonjour,
je m'excuse d'avance si le sujet a déjà été traité ( mais cela m'étonnerais, vu que cela fait 3 jours que je cherche en vain un peu partout).
voilà.
j'aimerais développer ( un bien grand mot) une macro qui à partir d'une base de donnée constituée sur un fichier excel ( je précise xl2003) génèrerait 5 tableaux Croisés Dynamiques sur dans un autre fichier et tous les 5 sur la même feuille
( ces tableaux ne font que 2 lignes donc pas de soucis de place).
j'ai utilisé l'enregistreur de macro mais impossible relancer ce qui est enregistré.
 
je fait un copié/collé de "mon" malheureux code.
si vous pouviez me donner un coup de main ce serait royal
 
Merci d'avance
---------
 

Code :
  1. Workbooks.Add
  2.      ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
  3.         "[macro_0405.xls]controle!R1C1:R828C20" ).CreatePivotTable TableDestination:= _
  4.         "", TableName:="Tableau croisé dynamique1", _
  5.         DefaultVersion:=xlPivotTableVersion10
  6.     ActiveSheet.PivotTables("Tableau croisé dynamique1" ).ColumnGrand = False
  7.     ActiveSheet.PivotTables("Tableau croisé dynamique1" ).AddFields RowFields:= _
  8.         "contrôle_famille", ColumnFields:="Créateur"
  9.     With ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields("ID" )
  10.         .Orientation = xlDataField
  11.         .Caption = "Nombre de ID"
  12.         .Function = xlCount
  13.     End With
  14.     With ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields( _
  15.         "contrôle_famille" )
  16.         .PivotItems("ok" ).Visible = False
  17.         .PivotItems("#N/A" ).Visible = False
  18.     End With
  19.     Range("A8" ).Select
  20.     ActiveWorkbook.Worksheets("Classeur2" ).PivotTables("Tableau croisé dynamique1" ). _
  21.         PivotCache.CreatePivotTable TableDestination:="[Classeur2]Feuil1!R8C1", _
  22.         TableName:="Tableau croisé dynamique4", DefaultVersion:= _
  23.         xlPivotTableVersion10
  24.     ActiveSheet.PivotTables("Tableau croisé dynamique4" ).ColumnGrand = False
  25.     ActiveSheet.PivotTables("Tableau croisé dynamique4" ).AddFields RowFields:= _
  26.         "contrôle_thême", ColumnFields:="Créateur"
  27.     With ActiveSheet.PivotTables("Tableau croisé dynamique4" ).PivotFields("ID" )
  28.         .Orientation = xlDataField
  29.         .Caption = "Nombre de ID"
  30.         .Function = xlCount
  31.     End With
  32.     With ActiveSheet.PivotTables("Tableau croisé dynamique4" ).PivotFields( _
  33.         "contrôle_thême" )
  34.         .PivotItems("ok" ).Visible = False
  35.         .PivotItems("#N/A" ).Visible = False
  36.     End With
  37.     Range("A13" ).Select
  38.     ActiveWorkbook.Worksheets("Feuil1" ).PivotTables("Tableau croisé dynamique1" ). _
  39.         PivotCache.CreatePivotTable TableDestination:="[Classeur2]Feuil1!R13C1", _
  40.         TableName:="Tableau croisé dynamique5", DefaultVersion:= _
  41.         xlPivotTableVersion10
  42.     ActiveSheet.PivotTables("Tableau croisé dynamique5" ).ColumnGrand = False
  43.     ActiveSheet.PivotTables("Tableau croisé dynamique5" ).AddFields RowFields:= _
  44.         "contrôle_sous-thême", ColumnFields:="Créateur"
  45.     With ActiveSheet.PivotTables("Tableau croisé dynamique5" ).PivotFields("ID" )
  46.         .Orientation = xlDataField
  47.         .Caption = "Nombre de ID"
  48.         .Function = xlCount
  49.     End With
  50.     Range("A15" ).Select
  51.     With ActiveSheet.PivotTables("Tableau croisé dynamique5" ).PivotFields( _
  52.         "contrôle_sous-thême" )
  53.         .PivotItems("ok" ).Visible = False
  54.         .PivotItems("#N/A" ).Visible = False
  55.     End With
  56.     Range("A18" ).Select
  57.     ActiveWorkbook.Worksheets("Feuil1" ).PivotTables("Tableau croisé dynamique3" ). _
  58.         PivotCache.CreatePivotTable TableDestination:="[Classeur2]Feuil1!R18C1", _
  59.         TableName:="Tableau croisé dynamique6", DefaultVersion:= _
  60.         xlPivotTableVersion10
  61.     ActiveSheet.PivotTables("Tableau croisé dynamique6" ).ColumnGrand = False
  62.     ActiveSheet.PivotTables("Tableau croisé dynamique6" ).AddFields RowFields:= _
  63.         "contrôle_codefin", ColumnFields:="Créateur"
  64.     With ActiveSheet.PivotTables("Tableau croisé dynamique6" ).PivotFields("ID" )
  65.         .Orientation = xlDataField
  66.         .Caption = "Nombre de ID"
  67.         .Function = xlCount
  68.     End With
  69.     Range("A21" ).Select
  70.     With ActiveSheet.PivotTables("Tableau croisé dynamique6" ).PivotFields( _
  71.         "contrôle_codefin" )
  72.         .PivotItems("ok" ).Visible = False
  73.         .PivotItems("#N/A" ).Visible = False
  74.     End With
  75.     Range("A23" ).Select
  76.     ActiveWorkbook.Worksheets("Feuil1" ).PivotTables("Tableau croisé dynamique3" ). _
  77.         PivotCache.CreatePivotTable TableDestination:="[Classeur2]Feuil1!R23C1", _
  78.         TableName:="Tableau croisé dynamique7", DefaultVersion:= _
  79.         xlPivotTableVersion10
  80.     ActiveSheet.PivotTables("Tableau croisé dynamique7" ).ColumnGrand = False
  81.     ActiveSheet.PivotTables("Tableau croisé dynamique7" ).AddFields RowFields:= _
  82.         "contrôle_cause", ColumnFields:="Créateur"
  83.     With ActiveSheet.PivotTables("Tableau croisé dynamique7" ).PivotFields("ID" )
  84.         .Orientation = xlDataField
  85.         .Caption = "Nombre de ID"
  86.         .Function = xlCount
  87.     End With
  88.     With ActiveSheet.PivotTables("Tableau croisé dynamique7" ).PivotFields( _
  89.         "contrôle_cause" )
  90.         .PivotItems("ok" ).Visible = False
  91.         .PivotItems("#N/A" ).Visible = False
  92.     End With
  93.     Range("A28" ).Select
  94.     ActiveWorkbook.Worksheets("Feuil1" ).PivotTables("Tableau croisé dynamique3" ). _
  95.         PivotCache.CreatePivotTable TableDestination:="[Classeur2]Feuil1!R28C1", _
  96.         TableName:="Tableau croisé dynamique8", DefaultVersion:= _
  97.         xlPivotTableVersion10
  98.     ActiveSheet.PivotTables("Tableau croisé dynamique8" ).ColumnGrand = False
  99.     ActiveSheet.PivotTables("Tableau croisé dynamique8" ).AddFields RowFields:= _
  100.         "contrôle_sous-cause", ColumnFields:="Créateur"
  101.     With ActiveSheet.PivotTables("Tableau croisé dynamique8" ).PivotFields("ID" )
  102.         .Orientation = xlDataField
  103.         .Caption = "Nombre de ID"
  104.         .Function = xlCount
  105.     End With
  106.     With ActiveSheet.PivotTables("Tableau croisé dynamique8" ).PivotFields( _
  107.         "contrôle_sous-cause" )
  108.         .PivotItems("ok" ).Visible = False
  109.         .PivotItems("#N/A" ).Visible = False
  110.     End With
  111.     Range("E1" ).Select
  112.     ActiveCell.FormulaR1C1 = "Rapports de Tableaux croisés dynamique"
  113.     Range("D36" ).Select
  114. End Sub


Message édité par greatdevil le 14-05-2010 à 10:41:15

---------------
Si tu te tapes la tête contre une cruche et que ça sonne creux, n'en déduit pas forcément que c'est la cruche qui est vide...
mood
Publicité
Posté le 12-05-2010 à 17:51:12  profilanswer
 

n°1992966
greatdevil
Posté le 14-05-2010 à 08:54:05  profilanswer
 

bonjour,  
un petit up ...


---------------
Si tu te tapes la tête contre une cruche et que ça sonne creux, n'en déduit pas forcément que c'est la cruche qui est vide...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA/EXcel] Faire plusieurs Tableaux croisés Dyn.

 

Sujets relatifs
requete sur plusieurs bases [resolu][VBA-Access] Tableau dont on ne connait pas Nb de lignes
Montrer la fenetre de filtre sur excel, sans faire de choix de critereProblème sur une macro Excel
VBA, boucle For i = a to b a>b POSSIBLE ?programmation Excel / VBA
Excel VBA Fonction Somme des (xi - yi)²Bug excel suite a lancement de macros successives
Plus de sujets relatifs à : [VBA/EXcel] Faire plusieurs Tableaux croisés Dyn.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR