Ce que vous saurez faire à la fin
- Construire une RECHERCHEV correcte du premier coup pour retrouver un prix client
- Utiliser INDEX/EQUIV pour faire des recherches à gauche et plus rapides
- Migrer vers XLOOKUP (Microsoft 365) avec gestion des erreurs intégrée
- Calculer des agrégats multi-critères avec SOMME.SI.ENS, NB.SI.ENS, MOYENNE.SI.ENS
- Construire un suivi de paie et de ventes Sénégal opérationnel sans VBA
Durée : 3h30. Pré-requis : Excel 2016 minimum (XLOOKUP nécessite Microsoft 365 ou Excel 2021), un fichier d’exemple avec une table Clients, une table Produits et une table Ventes (300 lignes minimum).
Étape 1 — Comprendre la logique de RECHERCHEV
RECHERCHEV répond à une question simple : « Cherche cette valeur dans la première colonne d’un tableau, et ramène-moi la valeur d’une autre colonne sur la même ligne. » Concrètement, vous avez un code client BMC-001 et vous voulez son nom : RECHERCHEV cherche BMC-001 dans la colonne A et ramène le nom en colonne B.
La syntaxe complète : =RECHERCHEV(valeur_cherchée; table_matrice; numéro_colonne; valeur_proche). Le 4e argument doit toujours être FAUX (ou 0) pour une correspondance exacte. C’est l’erreur numéro un des débutants : laisser VRAI par défaut, ce qui donne des résultats faux sur des données non triées.
Étape 2 — Première RECHERCHEV : retrouver un prix produit
Imaginez la table Produits en feuille « Catalogue » avec colonnes A:Code, B:Designation, C:PrixHT_FCFA, D:TauxTVA. Sur une feuille « Facture », en cellule B5 vous tapez un code produit (ex : RIZ-25KG) et en C5 vous voulez le prix automatiquement.
=RECHERCHEV(B5;Catalogue!A:D;3;FAUX)
' Pour gérer le cas où le code n'existe pas :
=SIERREUR(RECHERCHEV(B5;Catalogue!A:D;3;FAUX);"Code introuvable")
' Pour retourner 0 au lieu d'une erreur :
=SIERREUR(RECHERCHEV(B5;Catalogue!A:D;3;FAUX);0)
La colonne 3 correspond au PrixHT_FCFA (A=1, B=2, C=3, D=4). Si vous insérez une colonne entre A et C, votre formule devient fausse. C’est l’inconvénient majeur de RECHERCHEV.
Étape 3 — Limites de RECHERCHEV : recherche à gauche impossible
RECHERCHEV ne sait chercher que dans la première colonne et ramener une colonne à droite. Impossible de chercher un nom et ramener un code à gauche. Pour cela, on utilise INDEX/EQUIV.
Autre limite : RECHERCHEV ralentit fortement sur des tableaux de plus de 50 000 lignes. INDEX/EQUIV est jusqu’à 30% plus rapide car il ne parcourt qu’une seule colonne pour la recherche.
Étape 4 — INDEX/EQUIV : la combinaison flexible
Le principe : EQUIV trouve la position d’une valeur dans une plage, INDEX renvoie la valeur à cette position dans une autre plage. Syntaxe : =INDEX(plage_resultat; EQUIV(valeur_cherchée; plage_recherche; 0)).
' Trouver le code client à partir du nom (recherche à gauche)
' Table Clients : A=Code, B=Nom, C=Telephone, D=Ville
=INDEX(Clients!A:A;EQUIV("Ndiaye Sarl";Clients!B:B;0))
' Trouver la ville à partir du code
=INDEX(Clients!D:D;EQUIV(B5;Clients!A:A;0))
' Avec gestion d'erreur
=SIERREUR(INDEX(Clients!D:D;EQUIV(B5;Clients!A:A;0));"")
Le 0 dans EQUIV signifie correspondance exacte. C’est l’équivalent du FAUX de RECHERCHEV.
Étape 5 — INDEX/EQUIV bidirectionnel : retrouver une valeur croisée
Vous avez un tableau croisé : lignes = mois, colonnes = agences (Dakar, Thiès, Saint-Louis, Touba). Vous voulez le CA de Mars à Saint-Louis. Une seule formule :
=INDEX(Tableau!B2:F13;
EQUIV("Mars";Tableau!A2:A13;0);
EQUIV("Saint-Louis";Tableau!B1:F1;0))
Premier EQUIV trouve la ligne de Mars, second EQUIV trouve la colonne de Saint-Louis. INDEX renvoie l’intersection. Aucune RECHERCHEV ne sait faire ça.
Étape 6 — XLOOKUP : la modernisation Microsoft 365
Disponible depuis 2020 sur Microsoft 365 et Excel 2021, XLOOKUP remplace avantageusement RECHERCHEV et INDEX/EQUIV. Syntaxe : =RECHERCHEX(valeur; tableau_recherche; tableau_renvoi; [si_non_trouvé]; [mode_correspondance]; [mode_recherche]).
' Recherche simple, équivalent RECHERCHEV
=RECHERCHEX(B5;Catalogue!A:A;Catalogue!C:C)
' Avec valeur si non trouvé (remplace SIERREUR)
=RECHERCHEX(B5;Catalogue!A:A;Catalogue!C:C;"Code inconnu")
' Recherche à gauche (impossible avec RECHERCHEV)
=RECHERCHEX("Ndiaye Sarl";Clients!B:B;Clients!A:A)
' Dernière correspondance (recherche depuis le bas)
=RECHERCHEX(B5;Ventes!A:A;Ventes!E:E;"";0;-1)
' Renvoyer plusieurs colonnes en même temps
=RECHERCHEX(B5;Catalogue!A:A;Catalogue!B:D)
Étape 7 — SOMME.SI.ENS : agréger sur plusieurs critères
SOMME.SI.ENS additionne des valeurs en respectant N critères. Syntaxe : =SOMME.SI.ENS(plage_somme; plage_critère1; critère1; plage_critère2; critère2; ...).
Cas concret : table Ventes avec colonnes A:Date, B:Agence, C:Vendeur, D:Categorie, E:MontantHT_FCFA. Vous voulez le total des ventes de Catégorie « Alimentaire » à l’agence « Dakar » pour le vendeur « Sow Mamadou ».
=SOMME.SI.ENS(Ventes!E:E;
Ventes!B:B;"Dakar";
Ventes!D:D;"Alimentaire";
Ventes!C:C;"Sow Mamadou")
' Avec critères dans des cellules (plus flexible)
=SOMME.SI.ENS(Ventes!E:E;
Ventes!B:B;G2;
Ventes!D:D;G3;
Ventes!C:C;G4)
' Sommes sur une plage de dates (Mars 2026)
=SOMME.SI.ENS(Ventes!E:E;
Ventes!A:A;">="&DATE(2026;3;1);
Ventes!A:A;"<="&DATE(2026;3;31);
Ventes!B:B;"Dakar")
Étape 8 — NB.SI.ENS et MOYENNE.SI.ENS
NB.SI.ENS compte les lignes répondant aux critères. MOYENNE.SI.ENS calcule la moyenne. Syntaxe similaire à SOMME.SI.ENS, sans la première plage_somme pour NB.SI.ENS.
' Nombre de ventes Dakar Alimentaire en mars 2026
=NB.SI.ENS(Ventes!B:B;"Dakar";
Ventes!D:D;"Alimentaire";
Ventes!A:A;">="&DATE(2026;3;1);
Ventes!A:A;"<="&DATE(2026;3;31))
' Panier moyen Dakar Alimentaire mars 2026
=MOYENNE.SI.ENS(Ventes!E:E;
Ventes!B:B;"Dakar";
Ventes!D:D;"Alimentaire";
Ventes!A:A;">="&DATE(2026;3;1);
Ventes!A:A;"<="&DATE(2026;3;31))
' Nombre de clients distincts (avec colonne F = Client)
' Astuce : combiner SOMMEPROD et NB.SI
=SOMMEPROD((Ventes!B:B="Dakar")*1/NB.SI(Ventes!F:F;Ventes!F:F))
Étape 9 — Cas concret paie : retrouver le salaire de base par grade
Table Grilles_Salariales selon convention collective sénégalaise : A=Categorie (1A, 2B, 3A…), B=Salaire_Base_FCFA, C=Indemnite_Logement, D=Sursalaire. Table Employes : A=Matricule, B=Nom, C=Categorie, D=Anciennete_Annees.
Sur la feuille Bulletins, en colonne E vous voulez le salaire de base, en F l’indemnité, en G le sursalaire :
' Salaire de base (RECHERCHEV)
=RECHERCHEV(C2;Grilles_Salariales!A:D;2;FAUX)
' Indemnité logement
=RECHERCHEV(C2;Grilles_Salariales!A:D;3;FAUX)
' Calcul prime ancienneté (2% par année après 2 ans, plafonné à 25%)
=RECHERCHEV(C2;Grilles_Salariales!A:D;2;FAUX)
* MIN(MAX(D2-2;0)*0,02;0,25)
' Salaire brut total
=E2+F2+G2+H2
' IPRES (cotisation salariale 5,6% plafonnée)
=MIN(I2;432000)*0,056
' Net à payer (estimation simplifiée)
=I2-J2-K2-L2
Étape 10 — Cas concret ventes : tableau de bord agence Dakar
Vous gérez 4 agences au Sénégal. En haut du dashboard, des cellules avec listes déroulantes (Données > Validation des données > Liste) pour Agence (G2) et Mois (G3). Les KPI se mettent à jour automatiquement :
| Indicateur | Cellule | Formule |
|---|---|---|
| CA total FCFA | H2 | =SOMME.SI.ENS(Ventes!E:E;Ventes!B:B;G2;Ventes!F:F;G3) |
| Nb factures | H3 | =NB.SI.ENS(Ventes!B:B;G2;Ventes!F:F;G3) |
| Panier moyen | H4 | =SIERREUR(H2/H3;0) |
| Top vendeur | H5 | =INDEX(Ventes!C:C;EQUIV(MAX.SI.ENS(Ventes!E:E;Ventes!B:B;G2);Ventes!E:E;0)) |
| Évolution N-1 | H6 | =H2/SOMME.SI.ENS(Ventes!E:E;Ventes!B:B;G2;Ventes!F:F;G3-12)-1 |
Étape 11 — RECHERCHEV vs INDEX/EQUIV vs XLOOKUP : quand utiliser quoi
| Critère | RECHERCHEV | INDEX/EQUIV | XLOOKUP |
|---|---|---|---|
| Disponibilité | Toutes versions | Toutes versions | Microsoft 365 / 2021 |
| Recherche à gauche | Non | Oui | Oui |
| Performance gros volumes | Lent | Rapide | Très rapide |
| Robustesse à l’insertion de colonnes | Faible (numéro fixe) | Forte | Forte |
| Lisibilité | Simple | Moyenne | Excellente |
| Gestion d’erreur intégrée | Non (SIERREUR requis) | Non | Oui (4e argument) |
| Recherche dernière occurrence | Non | Complexe | Oui (mode -1) |
Étape 12 — Optimisation : RECHERCHEV en plage nommée
Pour une formule lisible et robuste, transformez vos tables en Tableaux structurés. Sélectionnez votre table, Insertion > Tableau (Ctrl+L), nommez-la tCatalogue via Création de tableau > Nom du tableau.
' Au lieu de cette formule fragile
=RECHERCHEV(B5;Catalogue!A:D;3;FAUX)
' Utilisez la version structurée, lisible et auto-extensible
=RECHERCHEV([@CodeProduit];tCatalogue;3;FAUX)
' Ou avec INDEX/EQUIV structuré
=INDEX(tCatalogue[PrixHT_FCFA];EQUIV([@CodeProduit];tCatalogue[Code];0))
' Avec XLOOKUP structuré (le plus lisible)
=RECHERCHEX([@CodeProduit];tCatalogue[Code];tCatalogue[PrixHT_FCFA];0)
Étape 13 — Bonnes pratiques de mise en page formules
Pour les formules longues, utilisez Alt+Entrée dans la barre de formule pour aller à la ligne. La formule devient lisible : un argument par ligne. Excel comprend, le résultat est identique, votre code est maintenable.
Documentez vos formules complexes en ajoutant une colonne « Commentaire » en feuille séparée. Pour les fichiers partagés en équipe, utilisez Révision > Nouveau commentaire sur les cellules clés.
Erreurs classiques à éviter
- Erreur : oublier le FAUX (ou 0) en fin de RECHERCHEV — Excel fait une recherche approximative et renvoie des prix faux. Toujours terminer par
;FAUX). - Erreur : référencer A:D au lieu de A:Z — en ajoutant une colonne, RECHERCHEV ne la voit pas. Préférez les Tableaux structurés.
- Erreur : SOMME.SI.ENS avec une plage_somme de taille différente des plages_critère — #VALEUR!. Toujours vérifier que toutes les plages couvrent les mêmes lignes.
- Erreur : critère texte sans guillemets —
SOMME.SI.ENS(...;Dakar;...)renvoie 0. Toujours"Dakar"ou référence cellule. - Erreur : recherche sur une colonne contenant des espaces parasites — « Dakar » ≠ « Dakar ». Nettoyer avec SUPPRESPACE ou Power Query.
- Erreur : XLOOKUP utilisé sur Excel 2016/2019 — #NOM?. Le partager avec quelqu’un sur ancienne version casse tout. Vérifier la version cible.
- Erreur : SOMME.SI.ENS sur dates mal formatées (texte au lieu de date) — les filtres dates ne fonctionnent pas. Vérifier le type avec
=ESTNUM(A2).
Checklist Excel intermédiaire opérationnelle
✓ Version Excel identifiée (2016, 2019, 2021, M365)
✓ Tables sources transformées en Tableaux structurés (Ctrl+L)
✓ Tables nommées (tClients, tProduits, tVentes)
✓ Aucun espace parasite (vérifier avec SUPPRESPACE ou Power Query)
✓ Colonnes typées (dates en date, montants en nombre)
✓ RECHERCHEV : toujours FAUX en 4e argument
✓ INDEX/EQUIV pour recherche à gauche ou bidirectionnelle
✓ XLOOKUP privilégié si Microsoft 365
✓ SIERREUR autour de chaque recherche pour éviter #N/A
✓ Critères SOMME.SI.ENS dans cellules (pas en dur)
✓ Formules longues mises en forme avec Alt+Entrée
✓ Validation de données (listes déroulantes) sur les critères
✓ Test sur un cas connu avant déploiement
✓ Sauvegarde du fichier avant ajout massif de formules
✓ Documentation dans une feuille "Notes" ou via commentaires