Aller au contenu principal

Qu'est-ce que la fonction RECHERCHEX ?

Définition
La fonction RECHERCHEX cherche une valeur dans une plage de recherche et renvoie la valeur correspondante dans une plage de retour distincte. Elle prend en charge la recherche bidirectionnelle, la gestion native des erreurs et la recherche de la dernière occurrence.

RECHERCHEX (XLOOKUP en anglais) est le successeur moderne de RECHERCHEV, disponible depuis Excel 365 et Excel 2021. Elle corrige d'un coup toutes les limitations qui t'ont probablement agacé : tu peux chercher dans n'importe quelle direction (y compris vers la gauche), la gestion des erreurs est intégrée via un paramètre dédié, et tu n'as plus besoin de compter le numéro de colonne à la main.

Concrètement, c'est elle qui retrouve les coordonnées d'un client à partir de son code, récupère un code fournisseur depuis un nom (impossible avec RECHERCHEV), affiche le prix le plus récent d'un produit dans un historique, ou associe des collaborateurs à leur manager avec une recherche partielle par caractères génériques. Si tu es sur une version récente d'Excel, elle devrait devenir ton réflexe pour toutes tes recherches.

Syntaxe

Clique sur un argument pour aller à son explication.

RECHERCHEX nécessite Excel 365 (abonnement actif) ou Excel 2021. Sur les versions antérieures, utilise RECHERCHEV ou la combinaison INDEX/EQUIV. Les 3 premiers paramètres couvrent 80 % des cas ; les 3 derniers sont pour les usages avancés.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction RECHERCHEX

Les trois premiers arguments forment le cœur de la fonction : ce que tu cherches, la colonne où chercher, puis la colonne d'où ramener le résultat. Ces deux dernières plages sont indépendantes, c'est ce qui te laisse ramener une valeur située à gauche.

Les trois suivants sont facultatifs : si_non_trouvé te débarrasse du #N/A, mode_correspondance ouvre l'approximatif et les caractères génériques, et mode_recherche te laisse balayer de bas en haut pour attraper la dernière occurrence.

1

valeur_cherchée

: la valeur que tu cherches dans ta base de données

Ça peut être un texte comme "Paris", un nombre comme 1234, une référence de cellule comme A2, ou le résultat d'une autre formule. Excel va scanner ta plage de recherche pour trouver cette valeur.

2

plage_recherche

: la colonne (ou ligne) dans laquelle Excel va chercher ta valeur

Contrairement à RECHERCHEV où tu dois sélectionner tout le tableau, ici tu sélectionnes uniquement la colonne de recherche, comme B2:B100. C'est plus clair et plus rapide à écrire.

3

plage_retour

: la colonne (ou ligne) dont tu veux récupérer la valeur, par exemple `E2:E100`

Cette plage doit avoir exactement la même taille que la plage_recherche.

L'avantage décisif de RECHERCHEX par rapport à RECHERCHEV : cette plage peut se trouver n'importe où, même à gauche de la colonne de recherche. Plus besoin de compter les colonnes ni de réorganiser ton tableau.

4

[si_non_trouvé]

: la valeur à retourner si aucune correspondance n'est trouvée(facultatif)

Ce paramètre remplace avantageusement SIERREUR qu'on devait utiliser avec RECHERCHEV. Tu peux mettre un texte comme "Non trouvé", un nombre comme 0, ou une cellule vide "".

Si tu omets ce paramètre, Excel retourne l'erreur #N/A en cas d'échec, comme avec RECHERCHEV.

5

[mode_correspondance]

: définit le type de correspondance(facultatif)

Par défaut 0 (correspondance exacte). Les autres valeurs : -1 pour la valeur immédiatement inférieure (données triées décroissantes), 1 pour la valeur immédiatement supérieure (données triées croissantes), 2 pour la recherche avec caractères génériques (* pour plusieurs caractères, ? pour un seul).

Attention : Le mode -1 ou 1 (correspondance approximative) exige que tes données soient triées dans l'ordre correspondant, sinon le résultat sera faux.

6

[mode_recherche]

: définit l'ordre de parcours de la plage(facultatif)

Par défaut 1 (du premier au dernier, trouve la première occurrence). La valeur -1 recherche du dernier au premier (trouve la dernière occurrence), très utile pour les historiques. Les valeurs 2 et -2 activent la recherche binaire (plus rapide sur très grandes plages triées).

Le conseil du pro
Renseigne le quatrième argument, si_non_trouvé, pour éviter un #N/A. Tu y places le texte à afficher, par exemple « Absent », quand la valeur cherchée n'existe pas dans la table.
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment faire une fonction RECHERCHEX simple

Un code client tombe dans un message et on te demande de qui il s'agit, tout de suite. Ta base rassemble le code, le nom, la ville et le chiffre d'affaires annuel de chaque client, et tu veux retrouver le nom qui correspond au code CLI-042 en une seconde. La fonction RECHERCHEX va chercher ce code dans la colonne des codes et te ramène le nom associé.

Les étapes
  1. 1
    Dans une cellule, écris =RECHERCHEX(.
  2. 2
    En 1er argument : écris le code à retrouver, "CLI-042".
  3. 3
    En 2ᵉ argument : sélectionne la colonne des codes client, A2:A19. La fonction balaie uniquement cette colonne, sans que tu aies à sélectionner tout le tableau comme avec RECHERCHEV.
  4. 4
    En 3ᵉ argument : sélectionne la colonne des noms, B2:B19. C'est de là que vient la réponse, prise sur la ligne où le code a été trouvé.
  5. 5
    En 4ᵉ argument : écris le message à afficher si le code est introuvable, "Non trouvé". C'est lui qui remplace la fonction SIERREUR que RECHERCHEV imposait.
  6. 6
    Ferme la parenthèse et appuie sur Entrée.
Au final, ta formule devrait ressembler à ça :=RECHERCHEX("CLI-042"; A2:A19; B2:B19; "Non trouvé")
Explication
La fonction RECHERCHEX cherche le code CLI-042 dans la colonne des codes (A2:A19), puis renvoie le nom situé en face dans B2:B19 : « Girard & Fils ». Si le code n'existait pas, elle afficherait « Non trouvé » au lieu d'une erreur.
Exemple 2

Comment faire une fonction RECHERCHEX sur plusieurs critères

Tu prépares un devis à envoyer avant ce soir et il te faut un prix précis, celui de l'écran vendu dans le Sud. Ta grille de tarifs affiche le même produit à un prix différent selon la région, donc un seul critère ne suffit pas à isoler la bonne ligne. La fonction RECHERCHEX croise directement tes deux critères, produit et région, et te sort le bon tarif, ici 319 €.

Les étapes
  1. 1
    Dans une cellule, écris =RECHERCHEX(.
  2. 2
    En 1er argument : saisis 1. La fonction va viser la ligne où tes deux conditions sont vraies en même temps, et cette ligne vaudra justement 1.
  3. 3
    En 2ᵉ argument : écris la colonne de recherche en multipliant tes deux critères, (A2:A5="Écran")*(B2:B5="Sud"). Chaque condition renvoie vrai ou faux, et leur produit ne donne 1 que sur la ligne qui remplit les deux.
  4. 4
    En 3ᵉ argument : sélectionne la colonne des prix à ramener, C2:C5.
  5. 5
    En 4ᵉ argument : écris le texte de secours, "Aucun tarif", au cas où aucune ligne ne coche les deux critères. Il évite un #N/A en plein tableau.
  6. 6
    Ferme la parenthèse et appuie sur Entrée.
Voici la formule que tu obtiens à la fin :=RECHERCHEX(1; (A2:A5="Écran")*(B2:B5="Sud"); C2:C5; "Aucun tarif")
Explication
La multiplication des deux conditions fabrique un tableau de 0 et de 1, avec un seul 1 sur la ligne qui coche à la fois « Écran » et « Sud ». La fonction RECHERCHEX cherche ce 1 et renvoie le prix de cette ligne : 319 €.
Exemple 3

Comment gérer une erreur avec la fonction RECHERCHEX

Tu vérifies le stock avant de valider une commande, et la référence que tu tapes, REF-Z999, ne figure plus dans le catalogue. Plutôt que de laisser un #N/A polluer ton tableau au milieu des articles bien réels, la fonction RECHERCHEX affiche directement le message de ton choix, ici « Référence inconnue », grâce à son argument si_non_trouvé. C'est ce que RECHERCHEV ne savait pas faire seule.

Les étapes
  1. 1
    Dans une cellule, écris =RECHERCHEX(.
  2. 2
    En 1er argument : écris la référence à retrouver, "REF-Z999".
  3. 3
    En 2ᵉ argument : sélectionne la colonne des références, A2:A4. C'est là que la fonction va chercher.
  4. 4
    En 3ᵉ argument : sélectionne la colonne des quantités en stock, C2:C4. C'est la valeur qui ressortirait si la référence existait.
  5. 5
    En 4ᵉ argument : écris "Référence inconnue", l'argument qui fait toute la différence ici. La référence étant absente, c'est ce message qui s'affiche au lieu du #N/A, et tu n'as pas besoin d'emballer la formule dans SIERREUR.
  6. 6
    Ferme la parenthèse et appuie sur Entrée.
Une fois les morceaux assemblés, ta formule donne ça :=RECHERCHEX("REF-Z999"; A2:A4; C2:C4; "Référence inconnue")
Explication
La référence « REF-Z999 » n'existe pas dans le catalogue. Au lieu d'un #N/A, la fonction RECHERCHEX affiche le message prévu au quatrième argument, « Référence inconnue », sans le moindre SIERREUR autour.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction RECHERCHEX

RECHERCHEX a beau être plus moderne, elle bute encore sur trois cas. Un #N/A signale qu'elle n'a pas retrouvé ta valeur, souvent à cause d'un espace invisible ou parce que tu n'as pas rempli le 4e paramètre si_non_trouvé. Un #VALEUR! trahit deux plages de tailles différentes, et un #NOM? veut dire que ta version d'Excel ne connaît tout simplement pas la fonction.

Erreur #N/A : valeur introuvable sans message personnalisé

Même avec RECHERCHEX, #N/A apparaît si tu n'utilises pas le paramètre si_non_trouvé. Les causes fréquentes sont : la valeur n'existe pas dans la plage, des espaces invisibles dans les données, ou une différence de casse sur certains cas.

Solution : Ajoute le 4e paramètre : =RECHERCHEX(A2; Plage; Retour; "Non trouvé"). Pour les problèmes d'espaces invisibles, nettoie la valeur cherchée avec =RECHERCHEX(SUPPRESPACE(A2); Plage; Retour; "Non trouvé").

Erreur #VALEUR! : plages de tailles différentes

RECHERCHEX exige que plage_recherche et plage_retour aient exactement le même nombre de cellules. Un décalage d'une seule ligne (ex. A2:A10 vs C2:C11) provoque #VALEUR!.

Solution : Vérifie que tes deux plages commencent et terminent à la même ligne : =RECHERCHEX(A2; B2:B10; C2:C10). Un moyen simple : sélectionne les deux plages dans la barre de formule et note le nombre de lignes affiché.

Erreur #NOM? : fonction non reconnue

RECHERCHEX n'est pas disponible sur les versions d'Excel antérieures à Excel 365 (abonnement actif) ou Excel 2021. Sur ces versions, Excel ne reconnaît pas la fonction et affiche #NOM?.

Solution : Mets à jour vers Excel 365 ou utilise l'alternative INDEX/EQUIV, qui fonctionne sur toutes les versions : =INDEX(Retour; EQUIV(Cherchée; Recherche; 0)). C'est plus verbeux, mais équivalent pour la recherche bidirectionnelle.

Tu cherches surtout à corriger l'erreur #N/A affichée dans ta cellule, sans passer par la fonction RECHERCHEX ? Consulte la fiche dédiée à l'erreur #N/A pour comprendre toutes ses causes et comment la corriger.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

RECHERCHEX vs RECHERCHEV vs INDEX/EQUIV

Si tu as Excel 365 ou 2021+, privilégie RECHERCHEX : elle est plus simple et plus puissante. Si tu dois rester compatible avec des versions antérieures, INDEX/EQUIV est le meilleur substitut.

CritèreRECHERCHEXRECHERCHEVINDEX/EQUIV
Direction de rechercheToutes directionsDroite uniquementToutes directions
Gestion native des erreursOui (4e paramètre)Non (nécessite SIERREUR)Non (nécessite SIERREUR)
Dernière occurrenceOui (6e paramètre)Non supportéComplexe
Facilité d'écritureFacileMoyenneDifficile
CompatibilitéExcel 365 / 2021+Toutes versionsToutes versions
Le savais-tu ?
RECHERCHEX est arrivée en 2021 et cherche dans les deux sens. La colonne du résultat peut se trouver à gauche de la colonne de recherche, ce que RECHERCHEV n'a jamais su faire.
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec RECHERCHEX

1Astuce

Retourner plusieurs colonnes en une seule formule

En passant une plage multi-colonnes comme plage_retour, RECHERCHEX retourne toutes les colonnes en une seule formule matricielle : =RECHERCHEX(A2; Codes; B2:D10) renvoie les 3 colonnes B, C et D de la ligne trouvée.
C'est une des nouveautés liées aux tableaux dynamiques : la formule déborde automatiquement dans les cellules adjacentes, sans avoir à la copier.

2Astuce

Chaîner deux RECHERCHEX pour une recherche à deux niveaux

Tu peux utiliser RECHERCHEX comme valeur cherchée d'une autre RECHERCHEX : =RECHERCHEX(RECHERCHEX(A2; Clients; ClientID); Factures; Montant; "Aucune facture") retrouve d'abord l'ID client depuis le nom, puis cherche le montant de sa facture.
La formule reste lisible tant que tu n'empiles pas plus de deux niveaux.

3Astuce

Recherche insensible à la casse avec RECHERCHEX

Par défaut, RECHERCHEX est sensible à la casse sur certaines configurations. Pour une recherche vraiment insensible, passe les deux termes en minuscules : =RECHERCHEX(MINUSCULE(A2); MINUSCULE(Plage); Retour; "Non trouvé").
La colonne de retour reste intacte ; seule la comparaison est normalisée.

FAQ

Questions fréquentes

RECHERCHEX est la version moderne et améliorée de RECHERCHEV. Elle peut chercher dans n'importe quelle direction (pas seulement vers la droite), gère nativement les erreurs avec un paramètre dédié, et permet de spécifier une valeur par défaut si rien n'est trouvé. RECHERCHEV fonctionne sur toutes les versions d'Excel ; RECHERCHEX nécessite Excel 365 ou Excel 2021 minimum.

Ressources

Pour aller plus loin

Continue sur ta lancée après la fonction RECHERCHEX : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.

Tout voir