Guide : Comment Croiser Deux Tableaux dans Excel
Croiser deux tableaux consiste à établir une relation entre eux, en utilisant une clé commune pour associer ou comparer leurs données. Cela peut être réalisé avec des outils intégrés comme RECHERCHEV, XLOOKUP, ou Power Query dans Excel. Voici les étapes détaillées.
1. Comprendre le Scénario
Avant de croiser deux tableaux :
- Identifiez une clé commune (ex. : ID client, numéro de commande, etc.) présente dans les deux tableaux.
- Déterminez ce que vous voulez croiser :
- Ajouter des informations manquantes à un tableau.
- Comparer des valeurs entre deux tableaux.
- Fusionner les données.
2. Croiser Deux Tableaux avec RECHERCHEV
RECHERCHEV (ou VLOOKUP) est une formule classique pour associer des données entre deux tableaux.
Étapes :
- Préparez vos tableaux :
- Placez-les côte à côte ou dans des feuilles différentes.
- Assurez-vous que la colonne clé est correctement alignée et qu’il n’y a pas de doublons dans la table de recherche.
- Ajoutez une colonne pour les données croisées :
- Dans le tableau principal, insérez une colonne où les données du deuxième tableau seront affichées.
- Utilisez RECHERCHEV :
- Syntaxe :
=RECHERCHEV(Valeur_à_rechercher, Tableau_de_recherche, Numéro_de_colonne, FAUX)
- Exemple :
=RECHERCHEV(A2, Feuil2!A:B, 2, FAUX)
A2
: La clé à chercher (ex. : ID client).Feuil2!A:B
: Le tableau de recherche (plage contenant la clé et la colonne à récupérer).2
: Le numéro de colonne à récupérer dans le tableau de recherche.FAUX
: Recherche une correspondance exacte.
- Syntaxe :
- Copiez la formule pour toutes les lignes :
- Étirez la formule pour l’appliquer à tout le tableau.
3. Croiser Deux Tableaux avec XLOOKUP
XLOOKUP (disponible dans les versions récentes d’Excel) est une alternative plus flexible à RECHERCHEV.
Étapes :
- Ajoutez une colonne pour les données croisées :
- Dans le tableau principal, insérez une colonne pour afficher les valeurs du deuxième tableau.
- Utilisez XLOOKUP :
- Syntaxe :
=XLOOKUP(Valeur_à_rechercher, Colonne_clé_table_principale, Colonne_valeur_table_recherche)
- Exemple :
=XLOOKUP(A2, Feuil2!A:A, Feuil2!B:B, "Non trouvé")
A2
: La clé à chercher (ex. : ID client).Feuil2!A:A
: La colonne clé du tableau de recherche.Feuil2!B:B
: La colonne contenant les valeurs à récupérer."Non trouvé"
: Valeur retournée si la clé n’existe pas dans le tableau de recherche.
- Syntaxe :
- Vérifiez les résultats :
- Si une valeur est manquante, la formule affiche
"Non trouvé"
(ou toute autre valeur définie).
- Si une valeur est manquante, la formule affiche
4. Croiser Deux Tableaux avec Power Query
Power Query est un outil puissant pour croiser et fusionner des tableaux.
Étapes :
- Charger les tableaux dans Power Query :
- Sélectionnez le premier tableau, puis allez dans Données > Obtenir & Transformer > À partir d’une table/plage.
- Répétez pour le second tableau.
- Fusionner les deux tableaux :
- Dans Power Query, cliquez sur Accueil > Fusionner les requêtes.
- Sélectionnez les deux tableaux.
- Choisissez la colonne clé commune pour effectuer la jointure.
- Choisissez le type de jointure :
- Inner Join (Correspondance exacte) : Affiche uniquement les lignes correspondant dans les deux tableaux.
- Left Join (Tous les éléments du tableau principal) : Affiche toutes les lignes du tableau principal, même si elles ne correspondent pas dans le tableau secondaire.
- Ajoutez les colonnes croisées :
- Développez les colonnes du deuxième tableau pour les ajouter au tableau principal.
- Charger le résultat :
- Cliquez sur Fermer & Charger pour retourner le tableau croisé dans Excel.
5. Croiser Deux Tableaux avec VBA
Si le croisement doit être automatisé, utilisez un script VBA.
Code VBA Exemple :
Sub CroiserTableaux()
Dim ws1 As Worksheet, ws2 As Worksheet
Dim cell As Range
Dim dict As Object
Dim lastRow1 As Long, lastRow2 As Long
' Définir les feuilles
Set ws1 = ThisWorkbook.Sheets("Tableau1")
Set ws2 = ThisWorkbook.Sheets("Tableau2")
' Charger les données du deuxième tableau dans un dictionnaire
Set dict = CreateObject("Scripting.Dictionary")
lastRow2 = ws2.Cells(ws2.Rows.Count, 1).End(xlUp).Row
For i = 2 To lastRow2
dict(ws2.Cells(i, 1).Value) = ws2.Cells(i, 2).Value
Next i
' Ajouter les valeurs du deuxième tableau au premier tableau
lastRow1 = ws1.Cells(ws1.Rows.Count, 1).End(xlUp).Row
For Each cell In ws1.Range("A2:A" & lastRow1)
If dict.exists(cell.Value) Then
cell.Offset(0, 1).Value = dict(cell.Value)
Else
cell.Offset(0, 1).Value = "Non trouvé"
End If
Next cell
MsgBox "Croisement terminé."
End Sub
Étapes pour exécuter le code :
- Ouvrez l’Éditeur VBA (
Alt + F11
). - Insérez un module et collez le code.
- Revenez dans Excel et exécutez la macro.
Guide : Fusionner des Colonnes Clés avec Power Query dans Excel
Power Query permet de manipuler et d’organiser facilement des données dans Excel, notamment de fusionner plusieurs colonnes en une seule colonne clé. Voici un guide étape par étape pour effectuer cette tâche.
Étape 1 : Charger les données dans Power Query
- Ouvrir Power Query :
- Sélectionnez vos données (tableau ou plage).
- Allez dans Données > Obtenir & Transformer > À partir d’une table/plage.
- Confirmer la sélection :
- Une boîte de dialogue peut apparaître pour confirmer la plage sélectionnée. Cliquez sur OK si les données sont correctes.
- Renommez la requête (facultatif) :
- Dans le panneau de droite, donnez un nom explicite à votre requête (par exemple, “Tableau1”).
Étape 2 : Sélectionner les colonnes à fusionner
- Choisissez les colonnes clés :
- Dans Power Query, maintenez la touche
Ctrl
et cliquez sur les en-têtes des colonnes que vous souhaitez fusionner (par exemple, “Prénom” et “Nom”).
- Dans Power Query, maintenez la touche
- Accéder à l’option Fusionner les colonnes :
- Avec les colonnes sélectionnées, cliquez sur Transformer > Fusionner les colonnes dans le ruban de Power Query.
Étape 3 : Configurer la fusion
- Choisissez le séparateur :
- Une boîte de dialogue apparaît pour définir le séparateur entre les colonnes fusionnées.
- Options disponibles :
- Aucun séparateur : Les valeurs seront collées directement.
- Espace : Insère un espace entre les valeurs.
- Personnalisé : Vous pouvez entrer un séparateur spécifique (ex. : “-“, “/”, ou “|”).
- Attribuer un nom à la nouvelle colonne :
- Power Query attribue un nom par défaut (ex. : “Fusion”). Cliquez sur le nom de la colonne fusionnée dans la grille pour le modifier (ex. : “Clé unique”).
- Appliquer la fusion :
- Cliquez sur OK pour valider.
Étape 4 : Charger les données dans Excel
- Finaliser et charger :
- Une fois la fusion terminée, cliquez sur Fermer & Charger dans le coin supérieur gauche.
- Les données transformées sont renvoyées dans Excel, dans une nouvelle feuille par défaut.
- Optionnel : Modifier les paramètres de chargement :
- Si vous souhaitez charger les données dans une feuille existante ou comme connexion uniquement, cliquez sur la flèche sous Fermer & Charger, puis choisissez Fermer & Charger vers.
Exemple Pratique
Avant la fusion :
Prénom | Nom | Date de Naissance |
---|---|---|
Jean | Dupont | 01/01/1990 |
Marie | Durand | 05/03/1985 |
Paul | Martin | 12/12/2000 |
Fusion des colonnes “Prénom” et “Nom” avec un espace :
Clé unique | Date de Naissance |
---|---|
Jean Dupont | 01/01/1990 |
Marie Durand | 05/03/1985 |
Paul Martin | 12/12/2000 |
Cas Pratique : Création d’une Clé Unique pour Gérer une Base de Clients
Contexte
Une entreprise souhaite gérer sa base de clients de manière efficace dans Excel. Actuellement, les informations clients sont réparties sur plusieurs colonnes :
- Prénom.
- Nom.
- Date de naissance.
L’objectif est de fusionner ces colonnes pour générer une clé unique qui sera utilisée pour identifier chaque client sans ambiguïté.
Étape 1 : Préparation des données
Tableau de départ :
Prénom | Nom | Date de Naissance |
---|---|---|
Jean | Dupont | 01/01/1990 |
Marie | Durand | 05/03/1985 |
Paul | Martin | 12/12/2000 |
Objectif :
Créer une colonne Clé Unique en combinant :
- Le prénom.
- Le nom.
- Les quatre chiffres de l’année de naissance.
Résultat attendu :
Prénom | Nom | Date de Naissance | Clé Unique |
---|---|---|---|
Jean | Dupont | 01/01/1990 | JeanDupont1990 |
Marie | Durand | 05/03/1985 | MarieDurand1985 |
Paul | Martin | 12/12/2000 | PaulMartin2000 |
Étape 2 : Utilisation de Power Query pour générer la clé unique
- Charger les données dans Power Query :
- Sélectionnez votre tableau de données.
- Allez dans Données > Obtenir & Transformer > À partir d’une table/plage.
- Confirmez que la plage sélectionnée est correcte.
- Fusionner les colonnes :
- Maintenez
Ctrl
et cliquez sur les colonnes Prénom, Nom, et Date de Naissance. - Cliquez sur Transformer > Fusionner les colonnes.
- Maintenez
- Configurer la fusion :
- Séparateur personnalisé : Aucun.
- Renommez la nouvelle colonne Clé Unique.
- Extraire l’année de naissance :
- Si nécessaire, modifiez la colonne Date de naissance pour afficher uniquement l’année :
- Sélectionnez la colonne Date de naissance.
- Cliquez sur Transformer > Extraire > Année.
- Si nécessaire, modifiez la colonne Date de naissance pour afficher uniquement l’année :
- Ajouter l’année de naissance à la clé unique :
- Fusionnez la colonne Clé Unique avec l’année de naissance :
- Sélectionnez la colonne Clé Unique et l’année de naissance.
- Répétez la procédure de fusion.
- Fusionnez la colonne Clé Unique avec l’année de naissance :
- Finaliser et charger les données :
- Cliquez sur Fermer & Charger pour retourner le tableau avec la clé unique dans Excel.
Étape 3 : Résultat
Tableau final :
Prénom | Nom | Date de Naissance | Clé Unique |
---|---|---|---|
Jean | Dupont | 01/01/1990 | JeanDupont1990 |
Marie | Durand | 05/03/1985 | MarieDurand1985 |
Paul | Martin | 12/12/2000 | PaulMartin2000 |
Applications Pratiques
- Gestion de la base de données :
- La clé unique peut être utilisée pour identifier chaque client dans d’autres tableaux ou bases de données.
- Cross-Matching avec d’autres fichiers :
- Cette clé peut être utilisée pour croiser les informations avec d’autres tableaux contenant les mêmes clients (exemple : historique d’achats).
- Création d’identifiants uniques :
- Le processus peut être adapté pour générer des identifiants pour des produits, des commandes, ou d’autres éléments.