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

Bonjour à tous,

J’ai récemment découvert qu’il est possible de charger une feuille de données Excel, alimentée par une base de données Oracle, dans un template Excel personnalisé. J’aimerais créer un template pour appliquer une mise en forme spécifique à cette feuille de données, mais je n’ai pas trouvé de réponses claires sur comment procéder.

Lorsque je cherche comment créer des templates, je trouve principalement des explications sur la création de formulaires à remplir manuellement, ce qui ne correspond pas à mon besoin. Si vous avez des ressources ou des pistes pour m’aider à réaliser mon projet, ce serait top !

Voici ce que j’aimerais faire dans mon template :

  1. Supprimer les colonnes inutiles.
  2. Ajouter des formules pour les calculs de sommes.
  3. Insérer des lignes pour séparer les groupes de noms dans ma colonne A lorsque ces noms changent.
    Exemple : texte1, texte1, texte1, insérer une ligne, texte2, texte2, texte2, etc.
    Cela vise à améliorer la lisibilité et à afficher les sommes par groupe.
  4. Appliquer des mises en forme classiques** (couleurs, bordures de tableau, etc.).

Je vous ai joint un exemple.
Feuille 1: Il s’agit de l’Excel de base qui prend ses données d’Oracle et qui est normalement bien plus long.
Feuille 1.xlsx (9,9 Ko)

Feuille 2: C’est ce à quoi j’aimerais que mon template ressemble et qui modifierait automatiquement Feuille 1. (Je n’ai pas mis toute la mise en forme, c’est juste un exemple. J’imagine que si je comprends comment faire ça, je pourrai gérer le reste par moi-même :slightly_smiling_face:)
Feuille 2.xlsx (9,8 Ko)

Est-ce que cela va nécessiter du VBA/macro ? Si oui, pensez-vous que c’est réalisable pour quelqu’un qui n’a jamais fait ni l’un ni l’autre ?

Merci d’avance pour votre aide !

Hello
avec powerQuery et un rapport croisé dynamique
si tu modifie dans ton ‹ tableau › une données il suffit d’aller dans données puis actualiser tout
Feuille 1.xlsx (22,1 Ko)

Bonjour,
Je suppose que tu importes tes données via « Données/Obtenir des données/A partir d’une base de données/A partir d’une base de données Oracle »

Si c’est le cas, tu utilises donc Power Query, et autant continuer avec.
Dans le fichier joint, j’ai repris ta base, et traité par PQ. (Dans ton fichier réel, il faudra ajouter le code après celui de l’import)
Il est évident que cela ne fonctionnera pas en direct, car les titres de colonnes ne vont pas correspondre.
Regarde déjà si cela pourrait le faire.
Bon courage
PQ_Insere ligne vide et total entre.xlsx (19,7 Ko)

Re-,
Une V2
Ici, je suppose que tu conserves bien les 3 premières colonnes, puis la 5ème, et enfin les 11ème et 12ème.
Je n’utilise donc plus tes noms de colonnes
PQ_Insere ligne vide et total entre_v2.xlsx (19,9 Ko)

Non, j’importe mes données directement depuis un classeur Excel que je DL depuis oracle. Je ne crois pas avoir accès directement aux donnes d’oracle. Je vais regarder ça. Dans cet Excel, la première ligne est l’intitule de chaque colonne que j’essaye de garder. Le but étant de réduire le temps passe sur de la mise en forme de ce tableau parce que je le fais plusieurs fois par jour (ce qui est franchement fastidieux et une grosse perte de temps).

C’est ça que j’utilise sur un autre classeur Excel qui s’appelle template. Il prend les donnees et les rentre dans une mise en forme particuliere (mais qui n’est pas celle que je souhaite):

Bonjour,
Pour l’import direct, regarde juste sous l’option que tu montres (From Database)
Sinon, avec le fichier que je t’ai proposé :

  • Tu copies tes données dans ce fichier
  • Dans le ruban « Insert », tu définis ta base en Tableau Structuré, et tu la nommes « Tableau1 »
    Puis tu cliques sur « Data/Refresh All »
    Si ça ne fonctionne pas, tu montres le msg d’erreur
    Bon courage

Merci pour les reponses :slight_smile:

La solution de cousinhub semble se rapprocher un peu plus de ce que je cherche.

La problématique du tableau croise dynamique, c’est que je ne souhaite pas changer de valeur dans mes donnes mais j’ai plutot des nouvelles donnes qui arrivent regulierement. Je n’ai donc pas l’impression que ça règle mon souci (à moins d’avoir mal compris ?).

En gros, j’ai une base de donnes qui est mise en direct en live et j’ai besoin de la mettre en forme régulièrement dans la journée. Sauf que je ne crois pas avoir accès directement à cette base de données et pour y avoir accès, je dois passer par oracle et la télécharger un fichier Excel. Cet Excel est indigeste au possible vu qu’il comporte plein de données inutiles pour moi et ne me fait pas un reporting très utile. Donc à chaque fois que j’ai besoin d’infos, je dois télécharger un nouveau Excel (pour avoir les dernières données mises à jour, ou pour sélectionner un seul client sur lequel je veux des donnes) puis supprimer a la main les colonnes inutiles puis faire ma mise en page.

Je vérifie ce matin si j’ai un moyen d’accéder directement a la BDD oracle et je vous tiens au jus.

Désole si je ne suis pas très clair, je suis encore novice, mais je ne demande qu’à apprendre ! (Je dois être bizarre, mais j’trouve que c’est marrant Excel…)

Le rapport de tableau croisé dynamique fonctionne sur le même principe (powerquery) que celui de cousinhub si tu importes tes données renomme les en tableau 1 et ils seront mis à jour.
L’avantage avec power query, c’est que tu n’as à faire la manip qu’une fois et que ça te met en forme automatiquement.

Ah ok, j’ai compris! Merci Taz.

Mais bon … Microsoft est dead donc j’ai pas réussi à tester tout ce que je voulais. J’ai bien réussi à importer le tableau et que ça mette automatiquement à jour. Il semblerait que les mettre dans deux feuilles séparées ne casse pas tout ce qui est une bonne nouvelle.

Plus qu’à réussir à comprendre comment modifier la mise en forme. De ce que j’ai compris, je passe par PQ. J’avais encore jamais utilisé donc dès qu’Excel re marche, j’essaye de voir si j’arrive à me débrouiller seul et je vous dis.

Merci beaucoup pour l’aide en tout cas ! Je sens que ça va me faire gagner beaucoup de temps.

Re-,
Je pense que tu n’es pas le seul impacté par cette panne (mondiale)
Quand tu dis « J’ai bien réussi à importer… », tu peux préciser? (quelle méthode?)
Si c’est par PQ, on peut tout faire, sans coller le tableau primaire dans un onglet, uniquement la base transformée.
@ te relire

Hello,

J’ai laissé reposer tout ça après le crash de vendredi.

J’arrive effectivement à importer la BDD depuis un Excel, mais pas depuis Oracle.
Je reçois ce message d’erreur :
« Oracle Database
The recommended provider (‹ Oracle.DataAccess.Client ›) is not installed. You can continue with current provider, however it has been deprecated and may not work correctly. »

En utilisant Excel, j’arrive à importer le tableau, mais je n’arrive pas à le renommer en « tableau1 ».

J’ai essayé de changer la source dans ton template de PQ, mais je ne suis pas sur de m’y prendre de la bonne manière.
En gros : après avoir importé le tableau dans une nouvelle feuille, je copie-colle ce qui est écrit dans la source sur PQ pour le nouveau tableau (ici order board) dans la ligne source du tableau 1 pour le remplacer.


Je reçois ensuite cette erreur:
« [Expression.Error] The column ‹ Column5 › of the table wasn’t found. »

Ce qui me semble normal vu que le template n’est pas adapté au nouveau tableau, il ne comprend pas les noms de colonnes, etc. Il faut donc que je comprenne comment faire ma propre mise en forme maintenant. Et espérer que ça suffise pour que tout fonctionne haha.

De ce que je vois dans PQ, ça a l’air d’être un langage particulier qui utiliserait des formules qui ressemblent à des fonctions Excel? Ensuite, il faut les rentrer dans l’ordre pour que les actions soient faites automatiquement. Où est-ce que je pourrais trouver la liste de ces formules et la manière de les utiliser ?

Bonjour,
Effectivement PQ utilise le langage M (à la différence de VBA pour les macros)
Je vois que tu as importé ton nouveau fichier par la commande "Données/A partir d’un fichier)
Lorsque tu es dans l’éditeur (comme ta photo), tu cliques bien sur l’étape « Source » (comme sur la photo)
Puis, tu sélectionnes la colonne « Data », clic droit dessus, et tu cliques sur « Supprimer les autres colonnes »
Il ne reste donc plus que la colonne « Data », avec une double-flèche. Lorsque tu cliques sur la double flèche, il va te proposer ceci : (mais avec les vrais titres de colonne, normalement)
image
Tu cliques sur OK, puis si ce sont bien les vrais titres, tu cliques sur la dernière étape, pour voir.
Ne t’inquiètes pas des différents messages d’avertissement « Ajout d’une étape » (OK)
Si ça fonctionne, on passe à l’étape suivante (automatiser l’import d’un fichier), si non, tu me dis où ça bloque. Bon courage

Re-,
Un petit lien pour te familiariser avec PQ
Et la bible…
Bonnes lectures

J’ai bien réussi à faire ce que tu m’as dit. Il n’a pas gardé le nom des colonnes, je ne sais pas pourquoi, mais en dehors de ça, on est bon.

Merci pour les liens, je sens que ça va m’être bien utile dans les prochains jours. :')

Re-,
Tu peux faire une capture d’écran des différentes étapes?
Normalement, entre « Source » et « ListCols », tu devrais avoir les deux étapes décrites supra
image

Je suis un peu perdu. J’ai suivi les étapes sur la nouvelle table. (order board)
image .

J’ai l’impression au vu de ta capture d’écran qu’il fallait le faire sur table1 ?

MB, c’est normal qu’il n’y ait pas le nom des colonnes. Elles ne sont pas dans l’excel orderboard que j’ai pris pour faire les tests.

Re-,
Oui, dans ta première capture d’écran :


Tu avais bien ma requête.
Tu cliques sur l’étape « Source », et tu as bien le chemin voulu (avec le fichier)
Il suffisait de sélectionner la colonne « Data », « Supprimer les autres » via clic droit.
Puis cliquer sur la double flèche comme indiqué
Et laisser faire

Ok, alors c’est bien ce que j’ai fait. :slight_smile:
J’obtiens ça:

RE-,
OK, on va modifier le fichier.
Dans ce nouveau fichier, tu mets le chemin et le nom de ton fichier dans la cellule A2 de l’onglet « Paramètres »
Tu reviens dans l’onglet « PQ », et tu cliques sur « Données/Actualiser tout », et tu me dis
PQ_Insere ligne vide et total entre_v3.xlsx (19,2 Ko)