Vous ne pouvez pas les éliminer mais les cacher
Le mieux serait de voir votre fichier sinon essayez d'appeler ce code lorsque le TCD est construit
VB:
Sub Macro1()
'Macro Dan
Dim pi As PivotItem
For Each pi In ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("votre champ avec valeurs à 0").PivotItems
If pi.DataRange = 0 Then pi.Visible = False Else: pi.Visible = True
Next
End sub
Si je vous ai posté un code c'est que je l'ai vérifié avant.
Quel est le nom de votre TCD car si différent de "Tableau croisé dynamique1", il faut adapter et mettre le nom de votre TCD. Même chose pour le champ (comme précisé avant)
Sinon mettez votre fichier en ligne ce sera plus simple d'analyser.
Avec les TCD ce n'est pas toujours simple.