Créer un template Excel pour automatiser la mise en forme d'une feuille excel tirant ses données d'Oracle

Ce qu’il faut faire.
Tu ouvres le fichier issu d’Oracle.
Tu sélectionnes la première cellule (A1) si elle est remplie
Tu fais « Insertion » (Insert), puis tu cliques sur « Tableau » (en anglais??)
image

Toute ta plage va être sélectionnée. Tu fais OK, puis en haut à gauche, tu vérifies que le Tableau se nomme bien « Table1 » (sinon, tu changes directement dans la case)
image

Puis tu l’enregistres (de préférence au format « xlsx »)
Et tu remplies la cellule prévue dans le fichier PQ_…
Et tu me dis

Ok, j’ai fait comme tu as dit et les colonnes customer, open value et rsvd value fonctionnent bien. La suppression de colonnes, l’insertion de ligne, les sommes et les colorations des cellules aussi. Par contre toutes les autres colonnes sont vides.

Edit: j’ai bien mis au format xlsx

Tu as bien mis les véritables noms de colonne dans le tableau colonne A de l’onglet « Paramètres »?

Désolé j’ai du faire un autre compte car j’ai atteint ma limite de message.

Je l’avais fait avant, mais j’ai dû oublier d’enregistrer. Je viens de refaire et ça fonctionne ! Merci!!

Petite question, je vois dans « paramètres » que tu as mis en colonne B : « choix ». Est-ce que je peux supprimer des x et en ajouter pour changer les colonnes qui apparaissent dans la feuille pq ?

Aussi, je vais essayer d’ajouter des règles dans les étapes de power query, est ce que quelque chose de possible ou est ce que ça va tout casser parce qu’il faut respecter un ordre précis dans les étapes ? (des exemples de ce que j’aimerais essayer de rajouter, c’est le tri par dates, des comparaisons de valeurs entre deux colonnes avec mises en forme conditionnelles, etc.) Ça pour le coup, c’est des choses que je sais faire en utilisant les fonctions de base d’Excel, mais j’aimerais bien essayer de les automatiser en utilisant PQ maintenant que j’ai vu que ça existait. Puis ça pourra peut-être me permettre de comprendre comment ça fonctionne tout ce que tu as fait. :slight_smile:

En-tout-cas mille merci, le fichier en l’état est déjà top de chez top!

C’est hyper impressionnant à voir pour moi qui connait que les fonctions de base :o.

Hi,
Ben, bonjour, alors, nouveau venu… :rofl:
Oui, la colonne Choix te permet de choisir quelles colonnes tu veux mettre dans le résultat final (si tu en veux plus, tu mets un « x », si tu veux en supprimer, tu enlèves…)
Pour les tris, tu peux les faire, mais avant les sous-totaux (avant l’étape GroupBy), sinon, tout va être faussé…
Pour les comparaisons, avec MEFC, le plus simple, c’est de les mettre comme j’ai fait, dans le tableau final
On va dire que tu peux tout faire, avant les sous-totaux
Bonne découverte de PQ, et n’hésite pas (en ouvrant un nouveau fil, au besoin)

Ah, tiens, une petite question…
J’ai vu dans une de tes captures d’écran un nombre de lignes d’environ 17 500 lignes…
Est-ce que la requête (qui fonctionne, maintenant) prend du temps? (grosso merdo)
Bonne soirée

Bonjour,
Je reviens sur le tri.
Dans quelle(s) colonne(s) se trouve(nt) ces dates? (Si tu pouvais me donner le nom exact du titre…)
Et dans quel ordre (Ascendant ou Descendant)?
Ce tri pourrait être intégré à l’étape GroupBy
Bonne journée

Top pour le choix. Et merci pour les conseils.

Oui, ma table de donnée peut être plus ou moins longue. Je ne sais pas trop pourquoi, mais la première fois que j’ai essayé ça a pris pas mal de temps et la fois d’après beaucoup moins avec le même tableau. Je pourrais te redire ça plus précisément après plusieurs essais avec des données plus ou moins fournies, mais je n’ai pas l’impression que ça soit à un stade ou c’est vraiment « trop » long.

Je vais devoir attendre lundi pour te dire, j’ai oublié mon chargeur de PC au bureau et tous les documents sont dessus… :-/

Hello,
Alors, je pense que le projet n’est pas encore abouti…
Déjà, évite de sélectionner les colonnes A et B (dans le code, je fais référence à la première colonne sélectionnée, et présume la colonne C)
Ensuite, est-ce qu’une optimisation par le biais d’un code VBA (pour sélectionner le nouveau fichier à traiter, et mettre à jour) serait réalisable? (i-e est-ce que tu peux utiliser les macros dans ta boîte?)
Et enfin, si tout est « faisable », on pourrait effectuer des essais grandeur nature (180 000 lignes, à priori)
En attendant, passe un bon W-E, et des fois, c’est bien d’oublier le chargeur (voire, très, très bien)
Bonne soirée Olympique

Hello,

Oui, effectivement, la première colonne sélectionnée est la colonne C. Que veut, tu dire par sélectionner ? Tu parles dans la feuille paramètre ou simplement de cliquer sur la colonne ? Car là, elles sont sélectionnées de base et je ne compte pas trop y toucher, je pense.

Je n’ai jamais fait de VBA et pour être 100% honnête ça me fait un peu peur haha. Ça a l’air encore plus obscur que PQ M., mais oui mon entreprise me laisse faire des macros. Donc d’un point de vue pratique oui c’est réalisable, d’un point de vu technique, je suis pas sûr d’y arriver haha. Petite precison par ce que je sais pas si c’était clair, mais à chaque fois, je télécharge et load dans le fichier PQ_Insere ligne vide et total entre_v5.xlsx un fichier différent. Ce n’est pas un fichier qui se met automatiquement à jour.

Merci beaucoup ! J’espère que t’as pu profiter de ton WE et des JO pour une fois où je te laissais tranquille haha!

Hi,
T’inquiète, l’utilisation du VBA va être très basique (code utilisé uniquement pour aller chercher le fichier, et mettre à jour la requête - même pas 10 lignes)
Je disais que dans la dernière version, si tu sélectionnes la A ou B, les résultats seront du grand n’importe quoi… (variable mal définie dans la requête - rien de grave)
Par contre, tu ne m’as pas répondu pour l’histoire du tri (selon quelle clé? quel ordre? quelle colonne? quel titre?)
@ te relire

Ah oui ! J’avais relu que le dernier message, sorry.

Habituellement, je passe par custom sort:

Je mets en premier un classement alphabétique pour la colonne A (C sur le document original.) puis en 2e classement par date, de la plus ancienne à plus récente en colonne Q (colonne AN sur le document de base). Ça me permet de voir apparaître en premier les dates les plus proches d’aujourd’hui (normalement, je n’ai jamais de dates antérieures à aujourd’hui et si c’est le cas, c’est pas plus mal qu’elle apparaissent en haut de la liste.).

Et pour répondre à ton autre question dans le même message,
Il y a des dates dans plusieurs colonnes :
AJ: « Delivery Creation Date »
AM: « Request Date »
AN: « Schedule Ship Date »
AO: « Promise Date »
AP: « Backorder Delivery Date »
BE: « Order Created »
BF: « Line Created »

J’espère ne rien avoir oublié, mais de toute façon la plupart de ces dates n’apparaissent pas dans le tableau final.

Re-,
Un petit essai…
Attention, pour pouvoir utiliser ce nouveau fichier, il te faudra autoriser les macros.
Et tu risques d’avoir un msg d’avertissement en rouge, comme quoi µSoft a bloqué les macros…

Pour l’utiliser donc, tu enregistres le fichier sur ton Disque Dur, le ferme, puis, clic droit dessus, « Propriété », et tu décoches la case « Bloquer » (si à l’ouverture tu as toujours ce message)
J’ai rajouté un petit compteur de temps, pour le fun.
Dès que tu cliques sur le bouton « Mise à jour » de l’onglet « Paramètres », une fenêtre va s’ouvrir, et qui te permet d’aller chercher le fichier que tu veux analyser.
Dès la fin du traitement, un petit msgbox te donnera le temps d’exécution. (on pourra supprimer ce gadget plus tard, si tu veux)
Pour info, j’ai traité un fichier de 25 000 lignes en moins de 5 secondes sur mon PC
Bon appétit
PQ_Insere ligne vide et total entre_v6.xlsm (31,8 Ko)

Pour 386 lignes : image

Le template a l’air d’être vraiment rapide ! Mais c’est vrai qu’à la longue, je pense que la boite du dialogue va pas être très utile haha.

Je n’ai pas eu de soucis avec le message qui bloque l’exécution, j’ai juste eu à autoriser le contenu.
Le bouton fonctionne très bien et je constate que j’ai plus besoin de refresh le tableau du coup.

Aussi, je vois que t’as mis un classement par ordre alphabétique qui fonctionne bien. Par contre le classement par date me déroute un peu :

Pas encore l’heure de manger chez moi, mais profites bien de ton repas :wink: .

Re-,
Je ne comprends pas trop cette histoire de tri (je viens de refaire un essai avec des dates différentes dans la colonne « Schedule Ship Date », et le tri se fait bien…
Pour essai, j’ai déplacé le typage en Date avant le GroupBy.
PS, j’ai pu remarquer que j’enlevais la première ligne dès le début - Rectifié
PQ_Insere ligne vide et total entre_v6b.xlsm (31,8 Ko)

Edit: je vois aussi que toutes les dates ne sont pas au même format :
image.
Est-ce que c’est quelque chose que je peux changer en cliquant sur la colonne et changeant moi-même le format des cellules ? Si je fais ça, est ce que ça va tous casser et autre question, est ce que ça va rester la prochaine fois que je load un fichier ? Plus généralement qu’est-ce qui reste si je fais des modifications à la main et que je load un nouveau fichier ? Est ce ça fait tabula rasa ou est ce que les mises en forme et autres modifications perdurent ?

Re-,
Dans quelle colonne, ce format?
Je pense qu’il faudrait mettre un nouveau fichier, avec juste les données nécessaires des colonnes concernées, sans données confidentielles, mais avec une cinquantaine de lignes.
Et dans l’onglet d’à-côté, le résultat voulu.
ça va peut-être te prendre un peu de temps, mais ça va surtout éviter de faire une pelote de laine avec tous ces fils…
PS, a-tu essayer le dernier fichier « 6b »?

Je viens d’essayer avec le nouveau fichier. Cette fois-ci, le tri par date se fait correctement. J’ai utilisé le même fichier en tant que donnée d’entrée donc je ne sais pas ce qu’il s’est passé. En-tout-cas en le mettant avant GroupBy ça a l’air de marcher !

Je n’ai pas bien compris l’histoire d’enlever la première ligne dès le début ? Je ne vois pas trop la différence entre les deux fichiers à ce niveau, peux-tu m’expliquer stp ? :slight_smile:

Et pour répondre à tes questionnements :

  • Si tu modifies le format dans le Tableau de restitution issu de la requête, celui–ci restera tant que le nombre de colonnes reste fixe, et les colonnes au même endroit.
  • Il vaut mieux mettre ce format directement dans la requête, en étape finale
  • Tu peux le faire toi-même, il n’y a aucun risque
  • Pour la première ligne, dans le code, je supprimais cette ligne à l’import (Table.Skip…) - plus de soucis maintenant

Après, ce n’est vraiment pas bien grave de ne pas avoir le même format de date très honnêtement.

Je ne suis pas sûr d’avoir bien compris ta requête. Tu veux que je fasse un faux fichier Excel qui reprend le format du document général que je télécharge depuis Oracle avec des fausses données + une deuxième page qui reprend ce à quoi j’aimerais arriver au final. C’est bien ça?

Oui, j’ai utilisé la V6B pour mon dernier message. Il marche bien (Par contre, il a doublé le temps de traitement. Ce n’est vraiment pas grave, mais je me suis dit que peut-être, tu voulais savoir vu que t’avais rajouté un chrono haha).

Edit: (j’ajoute l’autre réponse ici parce que c’est compliqué les deux conversations en parallèle.)

Top, parce que parfois, je vais avoir envie d’enlever les duplicats de certaines colonnes, etc. Et je n’étais pas sûr de pouvoir le faire sans tout casser.

J’avoue que je ne me rendais pas compte au moment où je posais ma question, mais en fait ce tableau est plus vivant que prévu. Il peut être tellement long que parfois, je peux avoir envie d’enlever les duplicats ou certaines colonnes pour avoir que les données qui m’intéresse et moins me perdre.