Comment utiliser RECHERCHEV pour renvoyer à la fois la valeur recherchée et sa couleur de fond dans Excel ?
Supposons que vous disposiez d’un tableau tel qu’illustré ci-dessous. Vous souhaitez désormais vérifier si une valeur donnée figure dans la colonne A, puis récupérer la valeur correspondante ainsi que sa couleur de fond située dans la colonne C. Comment procéder ? La méthode présentée dans cet article vous permettra de résoudre ce problème facilement.

RECHERCHEV et renvoi de Couleur de fond avec la valeur recherchée à l’aide d’une fonction personnalisée
Procédez comme suit pour rechercher une valeur et obtenir sa valeur correspondante accompagnée de sa couleur de fond dans Excel.
1. Dans la feuille de calcul contenant la valeur que vous souhaitez rechercher avec RECHERCHEV, cliquez avec le bouton droit sur l’onglet de la feuille, puis sélectionnez Afficher le code dans le menu contextuel. Voir la capture d’écran :

2. Dans la fenêtre Microsoft Visual Basic pour Applications qui s’ouvre, veuillez copier le code VBA ci-dessous dans la fenêtre de code.
Code VBA 1 : RECHERCHEV et renvoi de Couleur de fond avec la valeur recherchée
Sub Worksheet_Change(ByVal Target As Range)
Dim I As Long
Dim xKeys As Long
Dim xDicStr As String
On Error Resume Next
Application.ScreenUpdating = False
xKeys = UBound(xDic.Keys)
If xKeys >= 0 Then
For I = 0 To UBound(xDic.Keys)
xDicStr = xDic.Items(I)
If xDicStr <> "" Then
Range(xDic.Keys(I)).Interior.Color = _
Range(xDic.Items(I)).Interior.Color
Else
Range(xDic.Keys(I)).Interior.Color = xlNone
End If
Next
Set xDic = Nothing
End If
Application.ScreenUpdating = True
End Sub 3. Cliquez ensuite sur Insertion > Module, puis copiez le code VBA ci-dessous dans la fenêtre du module.
Code VBA 2 : RECHERCHEV et renvoi de Couleur de fond avec la valeur recherchée
Public xDic As New Dictionary
Function LookupKeepColor (ByRef FndValue, ByRef LookupRng As Range, ByRef xCol As Long)
Dim xFindCell As Range
On Error Resume Next
Set xFindCell = LookupRng.Find(FndValue, , xlValues, xlWhole)
If xFindCell Is Nothing Then
LookupKeepColor = ""
xDic.Add Application.Caller.Address, ""
Else
LookupKeepColor = xFindCell.Offset(0, xCol - 1).Value
xDic.Add Application.Caller.Address, xFindCell.Offset(0, xCol - 1).Address
End If
End Function 4. Après avoir inséré les deux codes, cliquez sur Outils > Références. Cochez alors la case Microsoft Script Runtime dans la boîte de dialogue Références – VBAProject. Voir la capture d’écran :

5. Appuyez sur les touches Alt + Q pour fermer la fenêtre Microsoft Visual Basic pour Applications et revenir à la feuille de calcul.
6. Sélectionnez une cellule vide adjacente à la valeur recherchée, saisissez la formule =LookupKeepColor(E2;$A$1:$C$8;3) dans la barre de formule, puis appuyez sur Entrée.

Remarque : Dans la formule, E2 contient la valeur que vous souhaitez rechercher, $A$1:$C$8 correspond à la plage du tableau, et le chiffre 3 indique que la valeur à renvoyer se trouve dans la troisième colonne du tableau. Adaptez ces éléments selon vos besoins.
7. Maintenez la sélection sur la première cellule de résultat, puis faites glisser la poignée de recopie vers le bas pour appliquer la mise en forme, y compris la couleur de fond, à tous les résultats. Voir la capture d’écran.

Articles associés :
- Comment copier la mise en forme de la cellule source lors de l’utilisation de RECHERCHEV dans Excel ?
- Comment utiliser RECHERCHEV pour obtenir un résultat au format date plutôt qu’un nombre dans Excel ?
- Comment utiliser RECHERCHEV avec la fonction SOMME dans Excel ?
- Comment utiliser RECHERCHEV pour récupérer la valeur située dans la cellule adjacente ou suivante dans Excel ?
- Comment utiliser RECHERCHEV pour rechercher une valeur dans Excel et obtenir VRAI ou FAUX (ou OUI ou NON) en résultat ?
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