Vous avez deux tableaux Excel qui parlent de la même chose, mais pas tout à fait avec les mêmes informations ? D’un côté, la liste complète de vos clients ; de l’autre, leurs commandes. Vous souhaitez rapprocher ces données sans copier-coller ligne par ligne ? C’est précisément le rôle des jointures.
Les notions de LEFT JOIN et de RIGHT JOIN viennent du langage SQL, mais elles sont tout à fait exploitables dans Excel. Le plus souvent, on les réalise avec Power Query, l’outil intégré à Excel pour importer, transformer et combiner des données. Selon le besoin, des formules comme RECHERCHEX ou FILTRE peuvent également faire le travail.
Dans cet article, nous allons voir ce qu’est une jointure, comment fonctionne une jointure gauche ou droite, et surtout comment les utiliser concrètement dans Excel.
Une jointure dans Excel, qu’est-ce que c’est ?
Une jointure consiste à réunir deux tableaux grâce à une colonne commune. Cette colonne est appelée clé de correspondance. Il peut s’agir d’un identifiant client, d’un numéro de commande, d’un code produit ou encore d’une adresse e-mail.
Imaginons deux tableaux :
- Clients : ID client, nom, ville ;
- Commandes : numéro de commande, ID client, montant.
La colonne ID client permet de faire le lien entre les deux sources. Une jointure va donc rechercher les correspondances et ajouter les informations du second tableau au premier.
Le résultat dépend du type de jointure choisi. Souhaitez-vous conserver tous les clients, même ceux qui n’ont passé aucune commande ? Ou uniquement les clients ayant effectivement commandé ? C’est là que les différences entre LEFT JOIN, RIGHT JOIN et les autres types de jointures deviennent importantes.
LEFT JOIN : conserver toutes les lignes du premier tableau
Une LEFT JOIN, appelée aussi jointure gauche, conserve toutes les lignes du tableau placé à gauche. Elle ajoute les informations du tableau de droite lorsqu’une correspondance est trouvée.
Lorsqu’aucune correspondance n’existe, les colonnes provenant du second tableau restent vides.
Prenons un exemple simple :
- Le tableau de gauche contient tous vos clients ;
- Le tableau de droite contient les commandes enregistrées ;
- La clé commune est l’ID client.
Avec une jointure gauche, tous les clients apparaîtront dans le résultat, y compris ceux qui n’ont jamais commandé. Pour ces derniers, le numéro de commande et le montant seront vides.
C’est généralement la jointure la plus utile pour les analyses commerciales. Elle permet notamment de repérer les clients inactifs, les produits sans vente ou les salariés sans formation enregistrée.
RIGHT JOIN : conserver toutes les lignes du second tableau
Une RIGHT JOIN, ou jointure droite, fonctionne à l’inverse. Elle conserve toutes les lignes du tableau situé à droite et ajoute les informations du tableau de gauche lorsqu’une correspondance existe.
Dans Excel, on utilise moins souvent la jointure droite, car il suffit généralement d’inverser l’ordre des deux tableaux et d’utiliser une jointure gauche. Le résultat sera identique.
Par exemple, si vous voulez conserver toutes les commandes, même celles dont l’ID client ne figure pas dans la liste officielle des clients, vous pouvez :
- placer le tableau des commandes à gauche et celui des clients à droite ;
- utiliser une jointure gauche ;
- ou conserver l’ordre initial et choisir une jointure droite.
La première méthode est souvent plus intuitive. Dans Power Query, le nom du tableau placé en première position aide à comprendre immédiatement quelles lignes seront conservées.
Les différents types de jointures disponibles dans Power Query
Power Query propose plusieurs types de rapprochements. Ils reprennent les grands principes des jointures SQL, avec une interface accessible sans écrire une seule ligne de code.
- Externe gauche : conserve toutes les lignes de la première table et les correspondances de la seconde.
- Externe droite : conserve toutes les lignes de la seconde table et les correspondances de la première.
- Interne : conserve uniquement les lignes présentes dans les deux tables.
- Externe complète : conserve toutes les lignes des deux tables, qu’elles correspondent ou non.
- Anti gauche : conserve les lignes de la première table qui n’ont aucune correspondance dans la seconde.
- Anti droite : conserve les lignes de la seconde table qui n’ont aucune correspondance dans la première.
Les jointures anti sont particulièrement pratiques pour détecter les anomalies. Par exemple, vous pouvez trouver les commandes associées à un client supprimé, ou les références produit présentes dans un catalogue mais jamais utilisées dans les ventes.
Préparer correctement les tableaux avant la jointure
Une jointure réussie commence par des données propres. Power Query est puissant, mais il ne peut pas deviner que « CL-001 » et « CL001 » désignent le même client.
Avant de fusionner vos tableaux, vérifiez les points suivants :
- Les deux colonnes de correspondance utilisent le même type de données : texte avec texte, nombre avec nombre.
- Les espaces inutiles ont été supprimés.
- Les majuscules et les minuscules ne créent pas de variations gênantes.
- Les identifiants sont réellement uniques dans la table qui sert de référence.
- Les cellules vides ou les valeurs erronées ont été traitées.
Une colonne contenant des identifiants clients doit idéalement être stable et unique. Si un même ID apparaît trois fois dans le tableau de référence, la fusion peut produire plusieurs lignes pour un seul enregistrement. Ce n’est pas forcément une erreur, mais il faut comprendre pourquoi cela arrive.
Petite astuce : transformez chaque plage en tableau Excel avec Ctrl + T. Donnez ensuite un nom explicite à chaque tableau, comme tClients et tCommandes. Cela rend les étapes plus lisibles et facilite les mises à jour futures.
Réaliser une LEFT JOIN avec Power Query
Voici un exemple concret pour conserver tous les clients et récupérer leurs commandes.
Commencez par cliquer dans le tableau des clients, puis ouvrez l’onglet Données. Choisissez À partir d’un tableau ou d’une plage. Power Query s’ouvre dans une nouvelle fenêtre.
Répétez l’opération pour importer le tableau des commandes. Vous disposez maintenant de deux requêtes dans l’éditeur Power Query.
Pour effectuer la jointure :
- Sélectionnez la requête correspondant aux clients.
- Ouvrez le menu Accueil.
- Cliquez sur Fusionner des requêtes.
- Sélectionnez la requête des commandes.
- Cliquez sur la colonne ID client dans les deux tableaux.
- Choisissez le type de jointure Externe gauche.
- Validez avec OK.
Power Query ajoute alors une nouvelle colonne contenant des tables imbriquées. Cliquez sur l’icône représentant deux flèches située dans l’en-tête de cette colonne pour sélectionner les champs à récupérer, par exemple le numéro de commande et le montant.
Vous pouvez décocher l’option qui ajoute automatiquement le nom de la table devant chaque colonne. Cela permet d’obtenir des intitulés plus courts, comme Montant au lieu de Commandes.Montant.
Terminez avec Fermer et charger. Excel crée un nouveau tableau contenant tous les clients et les données disponibles dans la table des commandes.
Obtenir une RIGHT JOIN en inversant les tables
Dans Power Query, le principe est très simple : le tableau conservé intégralement doit être placé en première position si vous choisissez une jointure externe gauche.
Vous voulez conserver toutes les commandes ? Sélectionnez donc la requête des commandes en premier, puis fusionnez-la avec la requête des clients. Choisissez une jointure externe gauche.
Vous obtenez ainsi l’équivalent d’une RIGHT JOIN appliquée au scénario initial. Cette méthode est souvent plus facile à retenir :
Le premier tableau est celui dont vous voulez conserver toutes les lignes.
Cette règle évite de jongler mentalement avec « gauche » et « droite ». Dans un fichier amené à être repris par un collègue, elle rend également la logique beaucoup plus claire.
Faire une jointure avec RECHERCHEX
Power Query est idéal pour les traitements reproductibles, mais une formule peut suffire lorsque vous souhaitez récupérer une seule information.
Supposons que le tableau tClients contienne la colonne ID client et que le tableau tCommandes contienne les colonnes ID client et Montant. Dans le tableau des clients, vous pouvez utiliser :
=RECHERCHEX([@[ID client]];tCommandes[ID client];tCommandes[Montant];"Aucune commande")
Cette formule recherche l’ID client dans la colonne correspondante et renvoie le montant associé. Si aucune correspondance n’est trouvée, le texte « Aucune commande » s’affiche.
Cette approche ressemble à une LEFT JOIN, car toutes les lignes du tableau des clients restent présentes. En revanche, elle présente une limite importante : si un client possède plusieurs commandes, RECHERCHEX ne renvoie qu’une seule correspondance, généralement la première trouvée.
Pour additionner toutes les commandes d’un client, utilisez plutôt SOMME.SI.ENS :
=SOMME.SI.ENS(tCommandes[Montant];tCommandes[ID client];[@[ID client]])
Vous obtenez alors le chiffre d’affaires total par client, ce qui est souvent plus utile qu’une simple récupération de ligne.
Utiliser FILTRE pour récupérer plusieurs résultats
Avec Microsoft 365 ou Excel 2021, la fonction FILTRE permet de renvoyer plusieurs lignes correspondant à une clé.
Pour afficher toutes les commandes d’un client identifié en A2, vous pouvez écrire :
=FILTRE(tCommandes;tCommandes[ID client]=A2;"Aucune commande")
Le résultat se déverse automatiquement dans les cellules voisines. Cette solution est pratique pour consulter les détails d’un client, mais elle est moins adaptée à la création d’un tableau consolidé comprenant une ligne par client.
Si vous devez actualiser régulièrement les données ou combiner plusieurs milliers de lignes, Power Query sera généralement plus fiable et plus confortable.
Éviter les erreurs fréquentes
Les problèmes de jointure sont rarement liés à Power Query lui-même. Ils proviennent le plus souvent des données sources.
- Aucune correspondance détectée : vérifiez les espaces invisibles avec la fonction SUPPRESPACE ou l’équivalent Power Query.
- Des lignes apparaissent en double : recherchez les doublons dans la clé du tableau de référence.
- Les nombres ne correspondent pas au texte : convertissez les deux colonnes dans le même type.
- Des valeurs manquent : utilisez une jointure externe gauche ou complète plutôt qu’une jointure interne.
- Le résultat n’est pas actualisé : cliquez sur Actualiser tout après modification des sources.
Un contrôle rapide consiste à comparer le nombre de lignes avant et après la fusion. Une jointure gauche devrait conserver au minimum toutes les lignes de la première table. Si le nombre augmente fortement, cela signifie probablement qu’une clé apparaît plusieurs fois dans le second tableau.
Quelle méthode choisir selon votre besoin ?
Pour choisir la bonne technique, posez-vous trois questions : combien de lignes devez-vous traiter, combien de colonnes souhaitez-vous récupérer et le résultat doit-il être actualisé régulièrement ?
- RECHERCHEX : idéal pour récupérer une valeur unique dans un tableau.
- SOMME.SI.ENS : adapté aux totaux et aux indicateurs par client, produit ou catégorie.
- FILTRE : utile pour afficher plusieurs lignes liées à une valeur.
- Power Query : recommandé pour fusionner des tableaux volumineux et automatiser le processus.
La bonne pratique consiste à utiliser les formules pour les besoins ponctuels et Power Query pour les traitements récurrents. Une fois la requête configurée, il suffit généralement de remplacer ou d’actualiser les données sources. Fini le copier-coller du lundi matin, avec ses petites erreurs qui se cachent toujours dans la dernière ligne.
Un cas pratique pour aller plus loin
Imaginez un fichier de suivi commercial composé de trois tableaux : les clients, les commandes et les commerciaux. Vous pouvez d’abord fusionner les commandes avec les clients grâce à l’ID client, puis fusionner le résultat avec le tableau des commerciaux grâce à leur identifiant.
Vous obtenez ainsi une table complète comprenant le client, sa ville, le commercial responsable, la date de commande et le montant. À partir de cette table, il devient facile de créer un tableau croisé dynamique, un graphique de chiffre d’affaires ou un tableau de suivi des clients sans commande.
La logique reste toujours la même : choisir une clé fiable, identifier le tableau dont les lignes doivent être conservées, puis sélectionner le type de jointure adapté. Une fois ce raisonnement acquis, les rapprochements de données deviennent beaucoup moins intimidants.
Les jointures permettent à Excel de dépasser le simple tableau isolé. Elles transforment plusieurs sources dispersées en une base cohérente, actualisable et exploitable. Que vous choisissiez Power Query, RECHERCHEX ou FILTRE, l’essentiel est de savoir quelles lignes vous souhaitez conserver et comment vos tableaux doivent dialoguer.
