TCD ajout automatique des nouveaux champs (VBA)

Bonjour,

Malgré différents forum, je n'arrive pas à résoudre mon problème.

Je voudrais que après actualisation d'un TCD, les nouvelles colonnes (nouveaux champs) soient automatiquement cochés et donc positionnés en lignes.

La seule solution serait une VBA ?

J'ai essayé avec PivotItems(Pivots).Visible = True

Mais cela ne me coche pas les nouveaux champs pour les positionner en ligne.

Ci-joint fichier

20test-mariejo1.xlsm (22.08 Ko)

Je vous remercie par avance

J'ai essayé ce code VBA mais cela ne marche pas, je n'arrive pas à faire en sorte que soit cocher automatiquement tout les nouveaux champs.

Sub test22()
Dim Nbre_Champs As Byte, Champs As Byte
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
Nbre_Champs = ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields.Count
For Champs = 1 To Nbre_Champs
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields(Champs).Orientation = xlRowField = True
End With
Next Champs
End Sub

Merci pour votre aide, je n'ai plus l'habitude d'utiliser la VBA donc pas facile de trouver. Peut-être est-ce impossible ???

Merci pour vous lumières

Bonjour,

A tester :

Sub ReinitialiserLesItems()

Dim I As Integer, ValeurPosition As Integer
Dim Pvt As PivotTable

    Set Pvt = Sheets("TCD").PivotTables("Tableau croisé dynamique1")
    With Pvt

         .PivotCache.Refresh

         ValeurPosition = 1
         For I = 1 To .PivotFields.Count
             With .PivotFields(I)
                  .Orientation = xlRowField
                  .Position = ValeurPosition
                  ValeurPosition = ValeurPosition + 1
                  '.ClearAllFilters
             End With
        Next I
    End With

    Set Pvt = Nothing

End Sub

Super cela fonctionne

Un grand merci pour cette aide

et merci à ceux qui prennent le temps de répondre à des questions sur le forum.

Je trouve par ailleurs très bien le site EXCEL-PRATIQUE

Rechercher des sujets similaires à "tcd ajout automatique nouveaux champs vba"