Extraire une info d'un Tableau Croisé Dynamique

Fermé
Sanguinius - 19 avril 2017 à 10:45
phadeb Messages postés 86 Date d'inscription dimanche 2 avril 2006 Statut Membre Dernière intervention 13 mai 2017 - 7 mai 2017 à 19:07
Bonjour,

je m'explique, je cherche a automatiser une action qui est récurrente dans mon activité lors d'envoi de matériel.

le but de mon fichier et de me calculer le poids de mon envoi tout en ayant préalablement calculer le total de chaque items.

je cherche comment faire une extraction d'infos d'un TCD tout en évitant un message de type #REF et en laissant la cellule vide si 0 items recenser.
De plus, je cherche comment faire un bouton qui va actualiser mon TCD tout en me basculant sur l'onglet ou j'aurais le poids total.

Merci d'avance pour votre aide.

1 réponse

phadeb Messages postés 86 Date d'inscription dimanche 2 avril 2006 Statut Membre Dernière intervention 13 mai 2017 21
7 mai 2017 à 19:07
Bonjour,

- Bon, pour le TCD en VBA, c'est pas du cake, il faut faire un truc de ce genre

ThisWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
[Feuil1!A1].CurrentRegion.Address(, , xlR1C1, True)).CreatePivotTable _
TableDestination:="Feuil2!R3C1", _
TableName:="Mon TCD"

Et récupérer la valeur qui t'intéresse

Sinon, l'autre solution serait de faire une macro qui reproduit le calcul du tcd en faisant des sommes (cela dépend de ton cas)

Une solution sans VBA est de faire un TCD avec juste le champ que tu veux retourner, avec les filtres qui vont bien, de telle sorte à ce qu'il y'ait toujours la même cellule avec la valeur dont tu as besoin

- Pour éviter les messages d'erreur, tu peux utiliser un SI(ESTERREUR(valeur);0;cible))


- Pour le bouton qui rafraichis le TCD et active ta feuille, tu passe par du VBA obligatoirement

ActiveSheet.PivotTables("Tableau croisé dynamique4").PivotCache.Refresh
Worksheets("Sheet1").Activate


Ou si tu es novice en VBA, tu passe par l'enregistreur de macro
0