Comment utiliser une formule de recherche bidirectionnelle dans Excel ?
La recherche bidirectionnelle vous permet de récupérer la valeur située à l’intersection d’une ligne et d’une colonne précises dans un tableau. Cette méthode s’avère particulièrement efficace lorsque vos données disposent d’étiquettes de ligne et d’en-têtes de colonne distincts, et que vous devez localiser une valeur spécifique en croisant ces deux critères. Par exemple, imaginez que vous gérez un rapport de ventes, une feuille de présence ou un tableau budgétaire, et que vous souhaitez retrouver instantanément la valeur correspondant à une date donnée et à l’identifiant d’un employé. Grâce à la fonctionnalité de recherche bidirectionnelle d’Excel, cette information est extraite rapidement et avec précision. La capture d’écran ci-dessous illustre un cas concret : la valeur à l’intersection de la ligne « AA-3 » et de la colonne « 5-Jan » est ainsi renvoyée.
Recherche bidirectionnelle avec des formules
Macro VBA pour la recherche bidirectionnelle
Recherche bidirectionnelle avec des formules
Effectuer une recherche bidirectionnelle dans Excel constitue une méthode simple pour obtenir une valeur à l’intersection d’en-têtes de ligne et de colonne spécifiques, notamment lorsque vous travaillez avec des tableaux bien structurés. Cette approche s’applique à de nombreux cas concrets, tels que la comparaison de dossiers d’employés par date, l’extraction de chiffres budgétaires selon la région et le mois, ou encore la localisation des résultats d’un test pour un élève et une matière donnés.
Bien que les formules soient flexibles et pratiques, leur principale limitation réside dans le fait qu’elles exigent une structure de tableau fixe. Pour des besoins plus dynamiques ou automatisés, d’autres solutions peuvent s’avérer préférables — des méthodes alternatives sont décrites ci-dessous.
Pour effectuer une recherche bidirectionnelle à l’aide de formules, procédez comme suit :
1. Listez les en-têtes de colonne et les étiquettes de ligne que vous souhaitez rechercher. Des en-têtes précis et cohérents vous aident à éviter les erreurs de recherche causées par des espaces superflus ou des formats incompatibles. Voici un exemple de tableau bien étiqueté :
2. Dans la cellule où vous souhaitez afficher le résultat, saisissez l’une des formules suivantes selon la structure de votre tableau :
Formule 1 : combinaison INDEX et EQUIV
=INDEX(A1:I8,MATCH(L1,A1:A8,0),MATCH(L2,A1:I1,0)) Cette formule identifie les indices de ligne et de colonne en recherchant les en-têtes spécifiés, puis renvoie la valeur située à leur intersection.
Formule 2 : SOMMEPROD pour les tableaux numériques
=SUMPRODUCT((A1:A8=L1)*(A1:I1=L2),A1:I8) La fonction SOMMEPROD donne de meilleurs résultats lorsque vos données contiennent uniquement des valeurs numériques et pourrait ne pas produire le résultat attendu avec du texte.
Formule 3 : RECHERCHEV avec EQUIV
=VLOOKUP(L1,$A$1:$I$8,MATCH(L2,B1:I1,0)+1,FALSE) Cette méthode commence par rechercher la ligne, puis utilise la fonction EQUIV pour déterminer le décalage de colonne.
Conseils :
(1)Explication des paramètres :
A1:A8est la plage des étiquettes de ligne,L1est l’étiquette de ligne spécifique que vous souhaitez trouver ;A1:I1est la plage des en-têtes de colonne,L2est l’en-tête de colonne cible ;A1:I8est la plage complète du tableau ; ajustez ces références selon vos besoins afin qu’elles correspondent exactement à vos données.
(2) Si vos plages de valeurs de recherche contiennent du texte et que vous utilisez SOMMEPROD, la formule renverra 0. Dans ce cas, privilégiez la combinaison INDEX/EQUIV.
Lorsque vous saisissez des formules, veillez à ce que les valeurs d’en-tête dans L1 (pour les lignes) et L2 (pour les colonnes) correspondent exactement à celles de votre tableau, y compris la casse si nécessaire.

3. Appuyez sur la touche Entrée pour valider la formule. La cellule sélectionnée affichera désormais la valeur située à l’intersection de l’étiquette de ligne et de l’en-tête de colonne que vous avez spécifiés.
Précautions et dépannage :
- Si la formule renvoie une erreur telle que #N/A, vérifiez soigneusement que vos en-têtes ne comportent ni espaces superflus ni incohérences de capitalisation.
- La copie de formules d’une cellule à l’autre peut nécessiter de passer des références relatives à absolues ; utilisez les symboles « $ » si nécessaire.
- Si votre tableau est volumineux ou de taille variable, envisagez d’utiliser des plages nommées dynamiques ou d’autres solutions alternatives, telles que le VBA ci-dessous, pour une meilleure évolutivité.
Macro VBA pour la recherche bidirectionnelle
Dans les situations où la recherche bidirectionnelle basée sur des formules devient contraignante — par exemple lorsqu’il faut effectuer des recherches insensibles à la casse, prendre en charge des plages de tailles variables ou automatiser des recherches répétées — une macro VBA personnalisée constitue une solution pratique. Le VBA est particulièrement utile pour les utilisateurs qui travaillent fréquemment avec des structures de tableau changeantes ou qui ont besoin d’intégrer des recherches dans des flux de travail automatisés.
Voici comment configurer et utiliser une macro VBA pour la recherche bidirectionnelle dans Excel :
1. Accédez à Outils de développement > Visual Basic, ce qui ouvre l’éditeur Microsoft Visual Basic pour Applications. Cliquez sur Insertion > Module pour ajouter un nouveau module, puis collez le code suivant dans ce module :
Sub TwoWayLookupMacro()
Dim tblRange As Range
Dim rowLabel As String
Dim colLabel As String
Dim rowIdx As Variant
Dim colIdx As Variant
Dim result As Variant
Dim xTitleId As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set tblRange = Application.InputBox("Select the table range for lookup", xTitleId, Type:=8)
rowLabel = Application.InputBox("Enter the row label to find", xTitleId, Type:=2)
colLabel = Application.InputBox("Enter the column header to find", xTitleId, Type:=2)
On Error GoTo 0
rowIdx = Application.Match(LCase(rowLabel), Application.Index(tblRange, 0, 1), 0)
colIdx = Application.Match(LCase(colLabel), Application.Index(tblRange, 1, 0), 0)
If IsError(rowIdx) Or IsError(colIdx) Then
MsgBox "Row or column label not found. Please check your input.", vbExclamation, xTitleId
Exit Sub
End If
result = tblRange.Cells(rowIdx, colIdx).Value
MsgBox "The value at the intersection is: " & result, vbInformation, xTitleId
End Sub 2. Pour exécuter la macro, cliquez sur le bouton
ou appuyez sur F5. Vous serez invité à sélectionner la plage de votre tableau, puis à saisir l’étiquette de ligne et l’en-tête de colonne. La macro affichera alors, dans une boîte de dialogue, la valeur située à leur intersection.
Conseils pratiques :
- Assurez-vous que les en-têtes de votre tableau figurent dans la première ligne et la première colonne de la plage sélectionnée pour garantir une correspondance précise.
- Cette macro utilise une correspondance insensible à la casse en convertissant les entrées en minuscules, évitant ainsi les erreurs courantes liées à la capitalisation.
- Si la structure de votre tableau diffère, vous devrez peut-être adapter la macro pour une indexation correcte.
- Pour des cas d’utilisation plus complexes, le code VBA peut être étendu afin de gérer des recherches par lots ou d’écrire directement les résultats dans des cellules Excel.
Si vous rencontrez des problèmes, comme l’impossibilité de trouver des en-têtes, vérifiez qu’il n’y a ni espaces avant ou après les étiquettes et la plage de données, ni caractères masqués.
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile
- Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels