IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

POWER Discussion :

[Power Query] Mise à jour d'un fichier par imports


Sujet :

POWER

  1. #1
    Membre confirmé Avatar de LG-69
    Homme Profil pro
    Analyste statisticien
    Inscrit en
    Juillet 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste statisticien

    Informations forums :
    Inscription : Juillet 2014
    Messages : 162
    Par défaut [Power Query] Mise à jour d'un fichier par imports
    Bonjour,

    En lisant les différents postes je me rends compte qu'on a tous à un moment donné le même type de problème à savoir :
    - on a un fichier maître dans excel
    - on reçoit de manière récurrente des incréments et mises à jours à ce fichier : les fichiers qu'on reçoit ont de nouvelles lignes devant s'ajouter à notre fichier maître, des lignes déjà présentes dans notre fichiers maître mais qui ont été mises à jour
    - on souhaite actualiser notre fichier maître sur lequel sont basés des graphes et Tcd
    - on ne veut pas faire des copier/coller manuels pour écraser notre fichier maître avec ses nouvelles données.

    Là je me suis dit que l'idéal serait que Power Query, une fois le fichier Maître chargé et mis à jour réécrase lui-même le fichier maître et... ça a l'air de marcher !

    Ce que j'ai fait :
    1 - dans un onglet j'ai saisi quelques lignes initiales mais on doit pouvoir se contenter des titres (la valeur initiale de mon fichier Maître) (format : identifiant ; date de mise à jour ; commentaire)
    2 - j'ai un fichier de mise à jour par ailleurs (un csv par exemple) avec le même format (format : identifiant ; date de mise à jour ; commentaire)
    3 - j'ai chargé dans Query mon 1er onglet
    4 - j'ai chargé dans Query mon fichier de mise à jour
    5 - j'ai combiné le fichier de mise à jour à mon onglet chargé ("ajouter des requête")
    6 - j'ai trié par date de mise à jour descendante
    7 - j'ai supprimé les doublons par l'identifiant
    8 - j'ai chargé les données dans excel ("Fermer et charger")
    Et c'est là l'astuce :
    9 - je suis revenu sur ma requête et j'ai changé le nom de la source pour y mettre le tableau qu'il venait de me charger
    10 - j'ai supprimé mon 1er onglet qui ne sert plus

    A présent à chaque mise à jour des données il prend en compte le nouveau fichier de mise à jour et complète/met à jour mon fichier maître

    En espérant que ce soit utile à la communauté, en tout cas ça va bien me rendre service

  2. #2
    Membre confirmé Avatar de LG-69
    Homme Profil pro
    Analyste statisticien
    Inscrit en
    Juillet 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste statisticien

    Informations forums :
    Inscription : Juillet 2014
    Messages : 162
    Par défaut
    Pour illustrer :
    - Mon tableau maître (cf le nom du tableau lié à la connexion)

    Nom : Capture1.PNG
Affichages : 224
Taille : 64,7 Ko

    - La source de mon Query (cf le nom de la source identique au nom du tableau lié à la connexion)

    Nom : Capture1bis.PNG
Affichages : 221
Taille : 63,8 Ko

    Le code Query
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    let
        Source = Excel.CurrentWorkbook(){[Name="Tb_fichier_maitre"]}[Content],
        #"Type modifié" = Table.TransformColumnTypes(Source,{{"id", Int64.Type}, {"date", type datetime}, {"commentaire", type text}}),
        #"Requête ajoutée" = Table.Combine({#"Type modifié", Tb_fichier2}),
        #"Lignes triées" = Table.Sort(#"Requête ajoutée",{{"date", Order.Descending}}),
        #"Doublons supprimés" = Table.Distinct(#"Lignes triées", {"id"}),
        #"Lignes triées1" = Table.Sort(#"Doublons supprimés",{{"id", Order.Ascending}})
    in
        #"Lignes triées1"
    Remarque : Tb_fichier2 est juste mon fichier de mise à jour

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] Power Query (Mise à jour de tables)
    Par JOHN14 dans le forum Excel
    Réponses: 3
    Dernier message: 18/06/2020, 18h25
  2. [AC-2007] Mise à jour d’une base Access par un fichier Excel
    Par Djeli dans le forum VBA Access
    Réponses: 14
    Dernier message: 30/03/2020, 14h55
  3. [XL-2010] Mise a jour d'un fichier par rapport a un fichier fermé
    Par sebing dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/11/2013, 14h47
  4. [PowerShell] Mise à jour de l'AD par script de lecture dans un répertoire de fichier XML
    Par Santah dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 20/03/2012, 07h41
  5. Mise à jour d'un fichier excel par un autre
    Par Homer091 dans le forum Excel
    Réponses: 3
    Dernier message: 13/06/2008, 14h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo