EX09 | Fonctions de recherche (RECHERCHEV et RECHERCHEX)
Document fictif à usage pédagogique.
Énoncé
Contexte
- Entreprise : Brévalis Industries (fictive).
- Demande : compléter les 40 commandes de la feuille Ventes avec la désignation, le prix, le taux de remise et le nom du client.
- Durée : 40 min | Niveau : intermédiaire.
- Départ : EX09_depart.xlsx (Ventes, Produits/tblProduit, Clients/tblClient, Bareme, Recherche) | Fin : EX09_corrige.xlsx.
- Pièges prévus : ART-0041 (ligne 8) absent du référentiel, CLI-099 (ligne 19) inconnu.
Travail demandé
- Avec RECHERCHEV : désignation et prix (valeur exacte), message si l'article est inconnu, taux de remise par recherche approximative dans le barème.
- Avec RECHERCHEX : raison sociale avec valeur si non trouvé, recherche vers la gauche, plusieurs colonnes renvoyées.
- Avec INDEX + EQUIV : le prix, pour les versions sans RECHERCHEX.
Simulation
- Simulation interactive EX09 (8 étapes guidées, validation automatique) : voir la sous-page EX09 | Simulation.
Corrigé
E00 | Ouvrir le fichier de départ
- Fichier > Ouvrir > Parcourir >
Documents\excel-lab\depart\EX09_depart.xlsx.
Capture : boîte Ouvrir, dossier depart, fichier EX09_depart.xlsx sélectionné
E01 | Désignation (RECHERCHEV exacte)
- F2 :
=RECHERCHEV(C2;tblProduit;2;FAUX), recopier. Ligne 8 : #N/A.
Capture : boîte Arguments de la fonction RECHERCHEV
E02 | Prix
- G2 :
=RECHERCHEV(C2;tblProduit;6;FAUX)(PrixVenteHT est la 6e colonne).
E03 | Article inconnu
- F2 :
=SIERREUR(RECHERCHEV(C2;tblProduit;2;FAUX);"Article inconnu"), recopier. - Variante plus ciblée :
SI.NON.DISP(...;"Article inconnu")ne masque que #N/A.
E04 | Barème (RECHERCHEV approximative)
- H2 :
=RECHERCHEV(E2;Bareme!$A$2:$B$5;2;VRAI), recopier. 3 682,95 € donne 2 % ; 11 044,80 € donne 8 %. - Le barème doit être trié par ordre croissant.
E05 | Client (RECHERCHEX)
- I2 :
=RECHERCHEX(B2;tblClient[CodeClient];tblClient[RaisonSociale];"Client inconnu"), recopier. Ligne 19 : Client inconnu.
Capture : boîte Arguments de la fonction RECHERCHEX
E06 | Recherche vers la gauche
- Recherche!B4 :
=RECHERCHEX(B3;tblProduit[Designation];tblProduit[RefProduit])renvoie ART-0013. - RECHERCHEV ne peut pas renvoyer une colonne située à gauche de la colonne de recherche.
E07 | Plusieurs colonnes
- Recherche!B7 :
=RECHERCHEX(B6;tblProduit[RefProduit];tblProduit[[Designation]:[Gamme]]): Châssis léger CL-5, P3, Sous-ensembles propagés en B7:D7.
E08 | INDEX + EQUIV
- Recherche!B9 :
=INDEX(tblProduit[PrixVenteHT];EQUIV(B6;tblProduit[RefProduit];0)): 1 324,26 €. - F12 > EX09_corrige.
Capture : comparaison des résultats RECHERCHEV et RECHERCHEX côte à côte
Points de vigilance
- Oublier FAUX dans RECHERCHEV lance une recherche approximative : sur des codes, le résultat peut être faux sans aucune erreur.
- Un numéro de colonne écrit en dur devient faux si une colonne est insérée dans la table ; RECHERCHEX n'a pas ce problème.
- RECHERCHEX existe dans Microsoft 365 et Excel 2021 et suivants ; ailleurs, INDEX + EQUIV.
- Fonctions de test complémentaires du support : ESTNA, ESTERREUR, SI.NON.DISP.