Bonjour,
Lors de la mise à jour d'un TCD, il arrive que de nouvelles colonnes soit présente, j'ai déjà une macro qui permet de changer la source, maintenant je voudrait rajouter a mon TCD dans la partie Values les nouveaux champ.
Ces champs ont tous un nom similaire "truc.nombre"
Je sais enlever ou ajouter un champ quand je connais son nomCe que je cherche à faire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ActiveSheet.PivotTables("PivotTable2").PivotFields( _ "Sum of truc.128").Orientation = xlHidden ActiveSheet.PivotTables("PivotTable2").AddDataField ActiveSheet.PivotTables( _ "PivotTable2").PivotFields("truc.128"), _ "Sum of truc.128", xlSum
1) boucler sur tous les champs
2) vérifier si le champs est déjà présent
pour le 1) j'ai essayé ça:Mais j'obtiens l'erreur "invalid use of property"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Dim pvtf As PivotField For Each pvtf In ActiveSheet.PivotTables("PivotTable2").PivotFields pvtf.Name '.caption Next
edit2: quel boulet, j'ai oublié de mettre msgbox devant pvtf.name, normal qu'il ne comprenne pas ce que je lui demande ...
2) là je sais pas trop comment m'y prendre, si vous avez des idées je suis preneur
Merci d'avance.
edit: pour le point2 je viens de trouver ça je vais tester le code trouvé ci-dessus legerement modifié modifié pour ajouté le choix le choix de la feuille
Désolé pour le dérangement je devrais m'en sortir tout seul...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Sub test() If testchamp("recMSap_envoi_tmis.122", "TB recap global par ref") = 0 Then MsgBox "chmp n'existe pas" Else MsgBox "chmp existe" End If End Sub Function testchamp(pf As String, sh As String) On Error Resume Next Set testchamp = Sheets(sh).PivotTables(1).PivotFields(pf) If testchamp Is Nothing Then testchamp = 0 ElseIf testchamp.ShowingInAxis = False Then testchamp = 0 End If End Function
Partager