L'informatique à votre portée
L'informatique prêt-à-porter

Faites appel à moi pour vos formations
sur les dpts 81, 31, 82, 11 et 67 (Strasbourg)
Confiez moi vos développements Office

FacebookTwitterGoogle BookmarksLinkedin

Power Query

Récupérer et transformer un fichier CSV ou TXT

22 juin 2015
Imprimer E-mail

Récupérer le contenu d'un fichier CSV ou TXT

Dans Excel, il est tout à fait possible de récupérer le contenu d'un fichier CSV ou TXT avec la commande Fichier texte du groupe Données externes sur l'onglet Données. Cette méthode importe les données de votre fichier dans votre classeur et a quelques inconvénients :

  • S'il a besoin de retravail avant son analyse, vous devez le faire dans votre classeur. Mais à chaque mise à jour il faudra vérifier si les calculs se font bien et devrez éventuellement tirer vos formules sur les nouvelles lignes.
  • Les données sont recopiées dans le classeur et ce dernier s'alourdit.
  • Vous ne pouvez utiliser l'outil Tableau et tous ces avantages.

Depuis la version 2010, vous pouvez utiliser un nouvel outil Power Query. Celui-ci va récupérer le contenu du fichier, vous pourrez ensuite le transformer et surtout choisir de ne pas incorporer les données dans votre classeur.
Celui-ci ne contiendra alors que vos analyses avec Tableaux croisés dynamiqures, Graphiques croisés dynamiques et Power View depuis la version 2013.

Pour récupérer le contenu, sur l'onglet Power Query :

  1. cliquez sur la commande A partir d'un fichier > Depuis CSV ou A partir d'un fichier > A partir d'un fichier texte ;
  2. sélectionnez votre fichier ;
  3. la fenêtre d'édition des requêtes s'ouvre et affiche le contenu de votre fichier.

Power Query - Fichier CSV ou TXT

 Transformer votre fichier

Supprimer les lignes inutiles

Comme vous le constatez, les 4 premières lignes sont inutiles, utilisez alors la commande Supprimer les lignes > Supprimer les lignes du haut et indiquez 4 dans le nombre de lignes.

Maintenant la 1ère ligne contient les titres, vous devez donc le préciser à Power Query :

  • onglet Dossier racine ;
  • groupe Transformer ;
  • Utiliser la première ligne pour les en-têtes.

Power Query - 1ère ligne en titre

Pivoter les données

Ici dans notre fichier les données de chaque produit est inscrit en colonne et chaque produit à sa propre colonne. C'est un problème pour l'analyse car il serait préférable d'avoir une seule colonne avec le nom du produit et une autre avec la quantité correspondante. Il nous faut alors pivoter l'ensemble des colonnes de produits :

  • Sélectionnez l'ensemble des colonnes à pivoter, dans l'exemple seul la date ne doit pas être sélectionné.
    Power Query - Sélection pour pivoter les colonnes
  • Soit avec un clic-droit sur ces colonnes, soit sur l'onglet Transformer, cliquez sur la commande Supprimer le tableau croisé dynamique des colonnes.
    Power Query - Pivoter les colonnes
  • Revenez sur la formule qui a pivoté vos données et modifiez le nom des nouveaux champs. Si la formule n'est pas affiché, cochez simplement l'option correspondante sur l'onglet Affichage.
    Power Query -  Modifier le nom des champs
    Power Query - Renommer les champs après un pivot

Finaliser la requête avec les types de données

Attention ! Power Query attribue un type de données Texte ou n'importe lequel selon la commande que vous avez effectué. Il est donc important d'attribuer correctement le bon type de données à l'ensemble des colonnes à la fin de votre requête.

  • Sélectionnez une colonne ;
  • sur l'onglet Dossier racine > Transformer > Type de données
  • choisissez le type à attribuer.

Utiliser les données dans Excel

Vos données sont maintenant prêtes à être analysées dans votre classeur. Sur l'onglet Dossier racine > Fermer & charger choisissez la commande Fermer & charger dans...
Ainsi, vous pourrez choisir de ne pas charger les données dans Excel, ce qui reviendrait à l'alourdir, mais à ne créer que la connexion.

Si vous possédez Excel 2013, vous pouvez également charger les données dans le modèle de données.

Power Query - créer une connexion

Pour créer ensuite, dans Excel, un Tableau croisé dynamique sur ces données :

  • Insertion > Tableaux croisés dynamique
  • Cochez Utiliser une source de données externe
  • cliquez sur le bouton Choisir la connexion...
  • sélectionnez votre requête dans la liste qui s'affiche.