Recouper deux tableaux de données avec Excel
Réussir à recouper les informations contenues dans deux bases de données différentes sur Excel, c'est à mon sens l'exercice qui marque la limite entre un novice sur Excel et un utilisateur confirmé. Si vous maîtrisez cette procédure (qui n'a rien de compliqué), vous vous rendrez compte que c'est vous qu'on appellera à la rescousse pour toute question sur Excel.
Car mes nombreuses années passées en entreprise m'ont montré que c'est un besoin ULTRA courant, quelque soit le contexte.
Comprendre le principe
Comme toujours, je vais prendre un exemple. Ici il sera très simple, mais on peut imaginer des bases de données bien plus complexes et surtout bien plus longues.
Voici ma première base de données (ne soyez pas effrayé par ce mot barbare, il ne s'agit ici que deux colonnes et 7 lignes sur une feuille Excel). Voici mon premier onglet.
Un deuxième onglet contient ma seconde base de données :
D'un côté j'ai des prénoms et les adresses e-mail correspondantes. De l'autre côté, des adresses e-mail et l'entreprise correspondante. Problème, pour organiser mon événement, j'ai besoin d'avoir l'information Prénom + Entreprise. Evidemment, dans ce cas c'est facile, je n'ai que 7 noms. Mais imaginons maintenant que cette liste contiennent 7000 contacts. On ne va tout de même pas traiter tout ça à la main.
La solution : la recherche verticale
J'en parlais déjà à l'époque dans cet article pour un cas très différent : la RECHERCHEV est l'une des fonctions les plus importantes à maîtriser sur Excel. Nous allons à nouveau l'utiliser.
Voici ce que nous allons faire : nous allons rechercher une information commune aux deux bases (je l'appelle en général la clé), car bien entendu si vous voulez recouper deux listes, il vous faut une information commune au deux.
En l'occurrence, nous allons rechercher l'adresse e-mail. Le tableau n°1 nous servira de base principale. Nous aimerions donc le compléter avec l'entreprise en colonne C.
Ecrivons en C2 cette formule : =RECHERCHEV(B2;Liste2!A1:B7;2;FAUX) et décomposons -la.
B2 : correspond à l'information que je vais aller chercher dans le second tableau.
Liste2!A1:B7 : correspond à la seconde base de données. Dans mon cas, elle est située sur les cellules A1 à B7 dans l'onglet Liste2.
2 : il s'agit du numéro de colonne dans laquelle se trouve l'information que je cherche. Dans mon exemple, je cherche l'entreprise en colonne B. La colonne B est la 2e colonne de ma base de données.
FAUX : je ne vais pas vous embrouiller avec cet argument. Retenez simplement que vous devez écrire FAUX comme dernier argument.
NB : pensez à figer certaines cellules en utilisant le sigle $ afin de ne pas décaler les coordonnées de la seconde liste lorsque vous copierez la formule en C3, C4, etc. En l'occurrence Liste2!A1:B7 devient Liste2!$A$1:$B$7. On peut aussi faire encore plus simple en écrivant Liste2!A:B. Et voilà le résultat.
Attention au piège !
Une des règles de la fonction RECHERCHEV, c'est qu'on recherche toujours dans la première colonne de la seconde base de données. Dans le cas où les colonnes de la seconde base de données auraient été inversées, comme ci-dessous, comment aurions-nous fait ?
Dans ce cas, il n'y a qu'une seule façon de procéder, il faut placer la colonne contenant l'information commune (la clé), ici l'adresse e-mail, au début du document. Soit en la dupliquant, soit en effectuant un couper-coller.
Cas particulier
Pour terminer, un point rapide sur un cas particulier que l'on rencontre fréquemment : les bases de données contiennent chacune des informations différentes, mais seule une partie des informations peut être recoupée. Ex. avec ces deux nouvelles bases :
Nous avons ici quatre nouvelles personnes : Paul, Cyril, Charlotte et Arnaud. Mais on ne retrouve Paul et Cyril que dans la première liste et Charlotte et Arnaud uniquement dans la 2e. Ces absences vont donc générer des erreurs dans les formules : des erreurs #N/A.
Ces erreurs ne sont pas graves, elles signifient simplement que les informations recherchées ne sont pas présentes dans la seconde base de données. En complément, je vous invite à parcourir cet article : Erreurs #N/A dans Excel, comment s’en sortir ?
Une bonne pratique pour recouper deux bases de données sur Excel
En tout cas, c'est en général de cette manière dont je procède. Créez un nouvel onglet et ajoutez en colonne A toutes les valeurs possibles de votre information commune, puis supprimez les doublons. Dans notre cas, on obtient une liste exhaustive des adresses e-mail. Puis créez les colonnes pour les informations à ajouter (ici Prénom et Entreprise) et créez les formules comme expliqué ci-dessus.
Comme toujours, je vous invite à télécharger gratuitement le document d'exemple ci-dessous.