Excel pour journalistes (14) : joindre deux tables grâce à Power Query

Intégré à Excel 2016 et disponible en téléchargement pour les utilisateurs d’Excel 2013, Power Query est un complément assez simple d’utilisation, qui aide à la manipulation et l’analyse des données.

On va l’utiliser ici pour ajouter à une table une colonne appartenant à une autre table, une fonction habituellement réservée à RECHERCHEV (VLOOKUP) mais sans doute ici plus facile d’utilisation et d’une plus grande souplesse, ne nécessitant pas non plus la réorganisation des tables initiales – comme ça peut être le cas avec VLOOKUP. La feuille qui sert de point de départ à cet exercice est disponible ici. Et elle ressemble donc à ceci :

Quelques mots sur Power Query
Autrefois appelé Data Explorer, Power Query se distingue d’Excel par son approche orientée colonnes ou champs , alors que celle d’Excel est orientée cellules.
Disponible en tant que module complémentaire pour Excel 2013 (avec une commande spécifique qui apparaît dans le ruban), il est nativement intégré à Excel 2016 sous la catégorie Get & Transform Data des commandes de Données. Son langage de programmation s’appelle « M », un dérivé du C#

Soit donc trois premières colonnes avec dates, prénoms et pays. Puis une seconde plage avec les noms de pays et leurs codes téléphoniques. Objectif : ajouter une quatrième colonne à la première table afin de marier chaque pays à son indicateur téléphonique.

La première chose à faire est de transformer les deux plages en tableaux :

Voici donc une feuille Excel avec deux tableaux :

Puis un à un, on va connecter ces deux tableaux à Power Query : placez le curseur dans un des tableaux puis Données/A Partir d’un tableau ou d’une plage :

S’ouvre alors la fenêtre de Power Query :

Pour établir une liaison avec ce premier tableau, “Fermer et Charger/Fermer et Charger dans” :

Dans la boîte de dialogue qui apparaît, sélectionnez “Ne créer que la connexion” et validez :

Cette première connexion apparaît dans l’onglet qui s’ouvre à droite de la fenêtre :

Il faut maintenant faire de même pour le second tableau de la page, on a ainsi deux éléments de la même feuille qui sont connectés :

On procède maintenant à la fusion de ces deux tableaux avec la commande “Données/Obtenir des Données/Combiner les requêtes/Fusionner”

Reste maintenant à indiquer quelles sont les tables à fusionner (ici, c’est facile, il n’y en a que deux dans la feuille) et le nom des colonnes identiques dans chaque table (ici, la colonne relevant les noms de pays) :

La fenêtre Power Query s’ouvre à nouveau, une nouvelle colonne a été insérée au premier tableau, il nous reste à choisir son contenu (qui sera le code). Pour ce faite, on va ouvrir cette nouvelle colonne en cliquant sur l’icône d’expansion :

Dans la boîte de dialogue qui apparaît, on va désélectionner la case “Pays”, car on a déjà les noms des pays et on ne veut ajouter que les codes internationaux, et on va désélectionner aussi “Utiliser le nom de la colonne d’origine comme préfixe” :

Puis on valide, et le nouveau tableau est complété :

Il ne reste qu’à activer “Accueil/Fermer et Charger” pour que la table ainsi complétée apparaisse dans une nouvelle feuille Excel.