OLivier2014
XLDnaute Nouveau
Bonjour,
Je souhaiterais effectuer en macro des tableaux croisés dynamiques à partir d’une base de données quotidienne. La difficulté est que les critères des TCD ne sont pas toujours présents dans la base de données. Exemple ci-dessous où je dois lister toutes les marques possibles mais il se peut que demain je n’ai pas de Fiat ou de Citroen dans les données et du coup la macro plante
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Marque")
.PivotItems("Renault").Visible = True
.PivotItems("Citroen").Visible = True
.PivotItems("BMW").Visible = True
.PivotItems("Mercedes").Visible = True
.PivotItems("Fiat”).Visible = True
Je fais appel svp aux costauds du VB. Deux solutions peut être :
_ La 1ere en améliorant le code en mettant un équivalent de « iserror »
_ La 2eme avec une variable qui listerait toutes les marques possibles indiquées dans un tableau de A1 jusqu’à An et créer une boucle dans pivots items pour i allant de 1 à n avec la valeur true
Que puis je mettre comme code VB ? Ou toute autre solution simple si vous avez une idée facile
Merci beaucoup
Je souhaiterais effectuer en macro des tableaux croisés dynamiques à partir d’une base de données quotidienne. La difficulté est que les critères des TCD ne sont pas toujours présents dans la base de données. Exemple ci-dessous où je dois lister toutes les marques possibles mais il se peut que demain je n’ai pas de Fiat ou de Citroen dans les données et du coup la macro plante
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Marque")
.PivotItems("Renault").Visible = True
.PivotItems("Citroen").Visible = True
.PivotItems("BMW").Visible = True
.PivotItems("Mercedes").Visible = True
.PivotItems("Fiat”).Visible = True
Je fais appel svp aux costauds du VB. Deux solutions peut être :
_ La 1ere en améliorant le code en mettant un équivalent de « iserror »
_ La 2eme avec une variable qui listerait toutes les marques possibles indiquées dans un tableau de A1 jusqu’à An et créer une boucle dans pivots items pour i allant de 1 à n avec la valeur true
Que puis je mettre comme code VB ? Ou toute autre solution simple si vous avez une idée facile
Merci beaucoup