Gérer l’ajout manuel de données dans une table liée à un fichier externe

L'objectif est d'ajouter des données à une table qui est liée à un fichier externe (par ex. une extraction CSV). Lors de l'actualisation du fichier externe - ajout ou suppression de ligne, tri - les données ajoutées dans le fichier excel restent connectées à la bonne clef.

Vous pouvez voir cette procédure en vidéo ici : https://www.xlerateur.com/divers/2019/10/07/powerquery-conserver-les-donnees-saisies-dans-excel-et-liee-a-une-requete-externe-9839/

Pré-requis important

Pour que cette procédure fonctionne, il faut absolument une clef primaire dans le fichier source. La clef primaire ne doit pas contenir de doublons et ne doit pas avoir de cellules vides.

Fichier exemple (CSV)

Cliquez sur le lien ci-dessous pour télécharger le fichier exemple.

Créer une connexion au fichier CSV (ou tout autre fichier)

  • Données, À partir d'un fichier texte/CSV, choisir le fichier, puis Charger.
  • Ajouter la ou les colonnes à modifier manuellement, par exemple un commentaire.

Copier le code via PowerQuery

  • Ajouter temporairement la table dans powerquery pour copier le code lié à la création de cette requête.
  • Aller dans Accueil - Editeur avancé, puis copier les deux lignes.
  • Fermer powerquery et ne pas enregistrer (ignorer).

Editer la première requête

  • Revenir sur la requête initiale de connexion au CSV.
  • Editer la requête dans l'éditeur avancé.

Voici les différents endroits où il faut faire des changements :

  • Renommer la dernière étape SQLData .
  • Ajouter une virgule.
  • Coller les deux lignes à la suite de cette virgule.
  • Remplacer source par source2 sur les deux dernières lignes avant le "in".
  • Remplacer #"type modifié" par DataWithComments.
  • Valider avec OK.

Ca va donner ceci :

Fusionner les requêtes

  • Accueil, Combiner, Fusionner des requêtes
  • Ajouter (nomrequete(actuelle))
  • Sélectionner la clef
  • External gauche

Renommer datawithcomments par SQLData. C'est l'une des étapes clefs, car cela crée la récursivité nécessaire.

Dans la dernière colonne, choisir développer et conserver les champs à compléter manuellement. Il est important de garder le même nom sans ajouter le nom de la table.

Finalement, Fermer la requête.

Si une deuxième colonne commentaire est créée - Commentaires2 - vous pouvez la supprimer.

Tester en ajoutant des informations dans la zone de commentaires, puis en supprimant ou en ajoutant des lignes dans le fichier CSV, et finalement en actualisant pour vérifier que les commentaires sont toujours bien sur la ligne correspondant à la bonne clef.

Bon courage !

Pour marque-pages : Permaliens.

3 réponses à Gérer l’ajout manuel de données dans une table liée à un fichier externe

  1. morgane Garot dit :

    Bonjour,

    Merci pour le Tuto !

    Mon problème est le suivant : En fusionnant les requête et en mettant le fichier data à jour, les lignes où j’ajoute un commentaire s’affiche plusieurs fois dans le fichier. Comment faire pour éviter cela ?

  2. Dekoninck dit :

    Bonjour et merci pour ce tuto.
    Cela faisait quelques jours que je cherchais une solution.
    Bien plus clair, que le site anglais.

    Merci

  3. Gaetan dit :

    Merci. Il faut aussi regarder les commentaires sur ce post. Il y a quelques nuances importantes.
    https://www.xlerateur.com/divers/2019/10/07/powerquery-conserver-les-donnees-saisies-dans-excel-et-liee-a-une-requete-externe-9839/

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.