Excel: Macro pour créer un TCD sur une autre feuille?

Excel: Macro pour créer un TCD sur une autre feuille? - VB/VBA/VBS - Programmation

Marsh Posté le 01-04-2010 à 16:54:54    

Hello
 
J'ai besoin de vos lumière pour corriger le code de ma macro qui est sensée me créer un TCD sur une autre feuille que celle où se trouve les données...
Je suis passé par l'enregistreur de macro mais en la lançant par la suite, la macro veux me coller le TCD sur la feuille où sont mes données, pas cool quoi.
 
Je pense que c'est le code qui ne précise pas l'adresse de la feuille de destination.
 
Feuille "RAPPORT" = celle où se trouve mes données
Feuille "SYNTHESE" = celle ou je veux coller mon TCD si possible à la cellule A10.
 
merchiii
 
ctiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        "RAPPORT!R1C1:R3000C8" ).CreatePivotTable TableDestination:="'SYNTHESE'!R1C10", _
        TableName:="Tableau croisé dynamique4"
    ActiveSheet.PivotTables("Tableau croisé dynamique4" ).SmallGrid = False
    ActiveSheet.PivotTables("Tableau croisé dynamique4" ).AddFields RowFields:= _
        Array("Famille d'Objets", "Données" )
    With ActiveSheet.PivotTables("Tableau croisé dynamique4" ).PivotFields( _
        "Date Appel_" )
        .Orientation = xlDataField
        .Position = 1
    End With
    ActiveSheet.PivotTables("Tableau croisé dynamique4" ).PivotFields("Date Appel_" ) _
        .Orientation = xlDataField


---------------
mon feed-back: http://forum.hardware.fr/hfr/Achat [...] 4641_1.htm
Reply

Marsh Posté le 01-04-2010 à 16:54:54   

Reply

Marsh Posté le 02-04-2010 à 16:37:13    

Hello
 
Il n'y a pas de ' dans la syntaxe
Et A10 c'est R10C1 (R = Ligne (Row) et C = Colonne (Column))
CreatePivotTable TableDestination:="SYNTHESE!R10C1"


Message édité par SuppotDeSaTante le 02-04-2010 à 16:39:15

---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 07-04-2010 à 12:29:09    

bon même comme ça ça ne marchait pas. J'ai donc nommé ma plage variable de données et c'est bon.


---------------
mon feed-back: http://forum.hardware.fr/hfr/Achat [...] 4641_1.htm
Reply

Marsh Posté le 25-09-2012 à 17:50:08    

Bonjour,  
 
Je relance ce sujet car j'ai exactement la même erreur en ce moment et je n'arrive pas à m'en dépétrer!  
Si quelqu'un à le bout de code qui va bien...
J'ai utilisé l'enregistreur de macro, coller le bout de code dans une nouvelle macro et j'ai l'erreur "Erreur d'éxécution 1004" Erreur défini par l'application ou par l'objet.  
 
Voici le code que j'utilise:  
 

Code :
  1. ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
  2.         "Janv!R10C1:R96C38", Version:=xlPivotTableVersion14).CreatePivotTable _
  3.         TableDestination:="Resume!R2C10", TableName:="Tableau croisé dynamique9", _
  4.         DefaultVersion:=xlPivotTableVersion14
  5.     Sheets("Resume" ).Select
  6.     Cells(2, 10).Select
  7.     With ActiveSheet.PivotTables("Tableau croisé dynamique9" ).PivotFields("Lot " )
  8.         .Orientation = xlRowField
  9.         .Position = 1
  10.     End With
  11.     ActiveSheet.PivotTables("Tableau croisé dynamique9" ).AddDataField ActiveSheet. _
  12.         PivotTables("Tableau croisé dynamique9" ).PivotFields("TOTAL" ), "Somme de TOTAL" _
  13.         , xlSum


 
 
la feuille Janv est celle ou je récupère les données pour alimenter le TCD.
la feuille RESUME est celle ou je veux avoir le TCD  
 
Merci d'avance pour votre aide!  
 
Ludo  
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed