Méthode pour comparer deux TCD

Bonjour à tous,

Pour commencer, vous trouverez le projet en pièce jointe :

https://www.transfernow.net/UuQ6QU022020

Actuellement, j'ai réussit à insérer toute mes macro en Feuille 1 afin de mettre en forme toutes mes données.

Maintenant, voici le but :

Je voudrais effectuer une différence entre les deux tableaux croisé dynamique (feuillet Graph S-1 et Graph S-2).

Actuellement, sur la feuil3, nous avons un TCD qui indique bien la somme des deux autres.

Mais je n'arrive pas à en faire la soustraction (Graph S-1 - Graph S-2).

Je ne sais pas si je m'y prends bien, donc je poste afin de savoir si je suis pas dans l'erreur dans mon mode de fonctionnement.

Je vous remercie par avance pour les pistes

Bonjour

Ton fichier contient 2 requêtes PowerQuery qui

  • pour l'une pointe sur un fichier externe que nous n'avons pas
  • pour l'autre sur un tableau structuré nommé Tableau1 non présent dans le classeur

En mettant les plages de Smart S-1 et Smart S-2 sous forme de tableaux et en les synthétisant par une requête PowerQuery tu pourrais comparer directement dans un TCD basé sur la requête (tu ne précises d'ailleurs pas ce que tu veux exactement comparer)

Ces 2 plages étant à priori issues de fichiers externes pourraient très certainement être directement synthétisées par PowerQuery sans import.

C'est un non sens, qui plus est avec 2016, de créer

  • un TCD sur des colonnes entières
  • un TCD de TCD avec l'assistant de 2003

Désolé pour les requêtes.

J'ai tellement essayé de truc que j'ai pas fait gaffe qu'elles étaient encore là !

Il n'y a aucune données externe, tout est copié dans le fichier (smart S-1 et Smart S-2) à l'aide des petites macros du premier feuillet.

Je n'ai pas de requêtes Power Query pour le moment.

J'ai tenté d'en faire une avec la fusion des deux tableau smart S-1 et S-2 mais le chargement m'affichait au moins 50 millions de lignes et plantait l'excel.

Sinon, concernant l'attendu de la comparaison, c'est de créer un tableau qui reprends le tableau (colonne +ligne) et affiche les écarts. les lignes identiques étant ignoré.

Ex :

Tableau 1 : ---------- Tableau 2 :-------------Tableau voulu :

----A B C D E --------- A B C D E--------------A B C D E

1--1 0 4 4 2 ---------- 0 0 4 4 2----------------1

2--7 8 2 3 2 ---------- 5 6 2 3 2----------------2 2

3

Après, pour la méthode utilisé, c'est justement pour cela que je suis là !

Ma façon de faire est peut être un non sens, mais s'il y a moyen de faire autrement et plus "propre", je serais content de l'apprendre.

Merci

RE

Comme expliqué j'ai mis chaque plage de données des onglets Smart S1 et Smart S2 sous forme de tableaux structurés nommés respectivement Smart_S1 et Smart_S2

J'ai

également créé un tableau Choix avec la liste des activités à comparer, ce qui permet de rendre les choses évolutives.

puis

  • basculé ces 3 tableaux dans PowerQuery
  • dans Smart_S1 et Smart_S2
    supprimé les colonnes autres que Nom, Jour et Activité
  • ajouté une colonne Source qui identifie la provenance de chaque requête
  • combiné ces deux requêtes dans une nouvelle requête nommée Tout , non pas par fusion, mais par ajout, ce qui met les données de la seconde sous les données de la première
  • fusionné cette requête avec Choix pour ne retenir que les activités choisies
  • supprimé la colonne créée par la fusion
  • puis on sort de PowerQuery par Fermer et charger Dans, Connexion uniquement et on crée ensuite le TCD avec cette requête en source.

    Si tu ne comprends pas certaines étapes PowerQuery, reposte, j'expliquerai.

    Je n'ai pas supprimé les 2 premier TCD mais en ai juste modifié la source pour limiter aux tableaux.

    Mais s'ils ne sont pas utiles tu peux supprimer les onglets.

    Comme je l'ai évoqué pas sur que tout le VBA soit nécessaire car on pourrait probablement construire directement depuis les csv...

    Merci beaucoup pour les pistes.

    Je vais essayer tout ça cet après midi.

    Bonjour 78chris,

    Je te remercie pour tout. J'arrive à mes fin en jouant sur les données rentrées dans le tableau dynamique.

    C'est top.

    Merci encore

    Rechercher des sujets similaires à "methode comparer deux tcd"