XL 2016 Actualisation + Tri TCD avec une macro

ABEAUFOUR

XLDnaute Nouveau
Bonjour,
Sur mon fichier comprenant plusieurs tableaux croisés dynamique, j'aimerais faire une macro qui lorsque j'actualise ma base de données, ça actualise mes macro et ça trie mes valeurs de la plus petite à la plus grande.
Or j'obtiens ce message d'erreur, quelqu'un peut m'aider à résoudre ce soucis ?

Merci par avance :)
 

Fichiers joints

chris

XLDnaute Barbatruc
Bonjour

Le tri peut être prédéfini une fois pour toute dans les TCD donc seul le RefresAll est nécessaire si les TCD sont bien construits
 

chris

XLDnaute Barbatruc
RE

En regardant de plus près tes images, il semble que la source ne soit pas conforme et soit un tableau à double entrée, ce qui réduit de facto les possibilités des TCD.

Il faudrait décroiser les données, via PowerQuery intégré à ta version, et faire les TCD sur le résultat de la requête
Ce qui devrait permettre
  • un seul champ en valeurs
  • la typologie en colonne
  • le tri automatique
  • la MFC appliquée au champ du TCD et non à une plage
A noter par ailleurs que ton code raisonne sur des plage et non des objets TCD...

Poste un exemple anonymisé...
 

ABEAUFOUR

XLDnaute Nouveau
Voici un fichier test, j'aimerais que tous les tableaux croisés dynamique de l'onglet "récap. prod" s'actualise et se tri du plus grand au plus petit lorsque je clique sur un bouton
 

Fichiers joints

chris

XLDnaute Barbatruc
Bonjour

J'ai mis la source sous forme de tableau structuré nommé Data.
Depuis la version 2003, donc plus de 16 ans, sauf cas très exceptionnel, les données doivent être sous cette forme surtout si elles doivent être exploitées par TCD.

J'ai basculé le tableau Data dans PowerQuery afin de décroiser les colonnes PNC et PAD

J'ai refait les 4 premiers TCD et graphs à partir de cette requête Data.

Comme tu peux le voir :
  • il n'y a plus qu'un champ en valeurs :
    • on filtre les PNC ou PAD sur le champ Type
    • on prédéfini le tri des valeurs en décroissant pour ce champ type (options de tri supplémentaires)
  • la MFC est définie pour le champ de TCD et non une plage
  • j'ai créé un format de nombre personnalisé pour minimaliser l'affichage des zéeos dans TCD et graph
Tu peux supprimer tes TCD, copier un de ceux que j'ai fait et filtrer l'ILOT
Pour les Graph il suffit de redéfinir leur source en utilisant le nouveau TCD correspondant
Je ne sais si tu avais ce graph par défaut. Si non, tu peux créer un modèle à partir du premier puis appliquer ce modèle aux autres
 

Fichiers joints

ABEAUFOUR

XLDnaute Nouveau
C'est bien ce que vous avez fait, mais quand je change mes données par d'autres (tout en restant au format tableau structuré) ça m'affiche : "Des problèmes sont survenus durant l'obtention des données".
Je crois que je vais abandonné cette idée, tant pis...
 

chris

XLDnaute Barbatruc
RE

La requête PowerQuery est basée sur la tableau exemple : les nouvelles données sont-elles bien de structure identique : même colonnes (les titres des colonnes et leur nombre), même type de données ?
Je poste très souvent des exemple PowerQuery et les utilisateurs n'ont pas de souci...

Mais il faut que l'exemple initial soit bien représentatif du classeur réel...
 

chris

XLDnaute Barbatruc
RE
Alors c'est curieux.
As-tu bien le tableau structuré nommé Data et non Tableau1 ?

Sinon peux-tu mettre le fichier sur Cjoint ou équivalement avec un mot de passe que tu m'envoies en MP ?
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas