Impossible de créer un TCD avec macro

[Résolu]
Signaler
-
 ludoja -
Re bonjour à tous,

j'ai un problème concernant la création d'un TCD sur une feuille (TCD) dont les données sont sur une autre (Janv).
J'ai utilisé l'enregistreur de macro + un bout de code trouvé sur un internet que j'ai adapté à ma sauce...
Le voici:

    Application.ScreenUpdating = 0
    Sheets("TCD").Select
    Cells.ClearContents
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
                                      "Janv!R10C1:R95C38", Version:=xlPivotTableVersion12).CreatePivotTable _
                                      TableDestination:="TCD!R2C1", TableName:="TCD", _
                                      DefaultVersion:=xlPivotTableVersion12
    Sheets("TCD").Select
    Cells(2, 1).Select
    With ActiveSheet.PivotTables("TCD").PivotFields("Lot")
        .Orientation = xlRowField
        .Position = 1
        .PivotItems("(blank)").Visible = False
    End With

    ActiveSheet.PivotTables("TCD").AddDataField ActiveSheet. _
                                                PivotTables("TCD").PivotFields("Total"), "Somme de Nb", _
                                                xlSum




l'erreur est la suivante: il me crée bien le TCD au bon endroit mais il n'arrive pas à rajouter les champs que je veux dans le rapport. Cela bloque à la ligne "With ActiveSheet.PivotTables("TCD").PivotFields("Lot")" avec l'erreur d'éxécution 1004 Erreur définie par l'application ou par l'objet.

Cela pourrait provenir de plusieurs choses:
- pour la colonne "lot", les mêmes lots apparaissent sur plusieurs lignes (donc peut être une case qu'excel coche automatiquement pour éviter les doublons lorsque l'on créé un TCD en manu et qui n'apparait pas forcément avec l'enregistreur de macro)
- j'ai d'autres feuilles dans le même classeur avec exactement la même présentation que la feuille "Janv". Peut être y a t il des conflits avec ceux là.

Si vous pouvez m'éclairer et aussi m'indiquer comment je peux rajouter sur le forum mon fichier pour que cela soit plus simple!

Merci.

P.S: j'avais posté sur un autre forum la même question mais sans réponse (car suite à un post de 2010...)

4 réponses

C'est bon ça fonctionne!
En fait le problème venait bien du fait que la colonne "lot" s'appelait de la même façon sur plusieurs feuilles différentes. je l'ai donc renommé pour chaque feuille du genre "lot_janv" avec une écriture en blanc pour le _janv.

Bonne soirée,

Ludo
Messages postés
303
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
3 octobre 2013
1
bonjour
A essayer :

rajouter Sheets("TCD").activate
avant le deuxième Sheets("TCD").Select

bonne journée
Salut c148270,

J'ai essayé ce que tu m'as dit mais ça ne change rien...
Bonsoir,

Personne n'a une idée du comment du pourquoi cette chose ne marche pas?