Ajout de champs / données dans un TCD avec VBA

  • Initiateur de la discussion Initiateur de la discussion arnaud75017
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

arnaud75017

Guest
Bonjour,

Je fais une macro pour monter un TCD et je me heurte à un problème: Je n'arrive pas à ajouter deux étiquettes de lignes "nom" et "prénom", le dernier écrase systématique le premier. J'ai trouvé ce code sur internet :

With Sheets("tcd").PivotTables("Mon TCD")
.AddFields RowFields:="Nom"
.AddFields RowFields:="Prenom"
.PivotFields("Age").Orientation = xlDataField
End With


Merci pour votre retour..
 

Pièces jointes

Dernière modification par un modérateur:
Re : Ajout de champs / données dans un TCD avec VBA

Une dernière petite question: Quand je crée mon tcd sur xls 2007 avec vba, j'ai automatique un "affichage classique de la disposition du TCD". Pourriez-vous me dire comment remettre la dispositon en version 2007?
 
Dernière modification par un modérateur:
Re : Ajout de champs / données dans un TCD avec VBA

Après avoir longuement cherché j'ai trouvé la réponse:
- Ajout de plusieurs étiquettes de lignes:

With ActiveSheet.PivotTables("Mon TCD").PivotFields("Nom")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Mon TCD").PivotFields("Prénom")
.Orientation = xlRowField
.Position = 2
End With

Concernant la disposition classique du TCD :

ActiveSheet.PivotTables("Mon TCD").InGridDropZones = False

En esperant que cela puisse vous être utile !
 
Re : Ajout de champs / données dans un TCD avec VBA

Bonsoir,


Code:
Sub macrotcd()

      Sheets.Add
    ActiveSheet.Name = "tcd"
    Sheets("base").Select
    ActiveWorkbook.Worksheets("tcdcible").PivotTables("Tableau croisé dynamique2"). _
        PivotCache.CreatePivotTable TableDestination:="tcd!R2C1", TableName:= _
        "Tableau croisé dynamique2", DefaultVersion:=xlPivotTableVersion10
    Sheets("tcd").Select
    Cells(2, 1).Select
    With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("nom")
        .Orientation = xlRowField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("prenom")
        .Orientation = xlRowField
        .Position = 2
    End With
    ActiveSheet.PivotTables("Tableau croisé dynamique2").AddDataField ActiveSheet. _
        PivotTables("Tableau croisé dynamique2").PivotFields("salaire"), _
        "Somme de salaire", xlSum
    ActiveSheet.PivotTables("Tableau croisé dynamique2").AddDataField ActiveSheet. _
        PivotTables("Tableau croisé dynamique2").PivotFields("prix"), "Somme de prix", _
        xlSum
    With ActiveSheet.PivotTables("Tableau croisé dynamique2").DataPivotField
        .Orientation = xlColumnField
        .Position = 1
    End With
    


End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

E
Réponses
6
Affichages
1 K
erictran
E
D
Réponses
1
Affichages
923
DelphineDF
D
T
Réponses
1
Affichages
2 K
Tinytoons
T
K
Réponses
1
Affichages
1 K
K
R
Réponses
2
Affichages
2 K
Risbal14
R
N
  • Question Question
Réponses
5
Affichages
3 K
S
Réponses
9
Affichages
2 K
supervico
S
N
Réponses
5
Affichages
2 K
nico91410
N
S
Réponses
0
Affichages
2 K
S
M
Réponses
1
Affichages
18 K
J
Réponses
4
Affichages
1 K
jaroddu94
J
Retour