Comment effectuer une recherche verticale et retourner la couleur d'arrière-plan avec la valeur recherchée dans Excel ?
Supposons que vous ayez un tableau comme illustré dans la capture d'écran ci-dessous. Maintenant, vous souhaitez vérifier si une valeur spécifiée est dans la colonne A, puis retourner la valeur correspondante ainsi que sa couleur d'arrière-plan dans la colonne C. Comment y parvenir ? La méthode décrite dans cet article peut vous aider à résoudre ce problème.
Recherche verticale et retour de la couleur d'arrière-plan avec la valeur recherchée via une fonction définie par l'utilisateur
Veuillez suivre les étapes ci-dessous pour rechercher une valeur et retourner sa valeur correspondante avec la couleur d'arrière-plan dans Excel.
1. Dans la feuille de calcul contenant la valeur que vous souhaitez rechercher, faites un clic droit sur l'onglet de la feuille et sélectionnez Affichage du code dans le menu contextuel. Voir la capture d'écran :
2. Dans la fenêtre Microsoft Visual Basic for Applications qui s'ouvre, veuillez copier le code VBA ci-dessous dans la fenêtre Code.
Code VBA 1 : Recherche verticale et retour de la couleur d'arrière-plan 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. Ensuite, cliquez sur Insérer > Module, et copiez le code VBA 2 ci-dessous dans la fenêtre Module.
Code VBA 2 : Recherche verticale et retour de la couleur d'arrière-plan 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 ensuite la case Microsoft Script Runtime dans la boîte de dialogue Références – Projet VBA. Voir la capture d'écran :
5. Appuyez sur les touches Alt + Q pour quitter la fenêtre Microsoft Visual Basic for Applications et revenir à la feuille de calcul.
6. Sélectionnez une cellule vide adjacente à la valeur recherchée, puis entrez la formule =LookupKeepColor(E2,$A$1:$C$8,3) dans la Barre de formule, puis appuyez sur la touche Entrée.
Remarque : Dans la formule, E2 contient la valeur que vous allez rechercher, $A$1:$C$8 est la plage du tableau, et le chiffre 3 signifie que la valeur correspondante que vous allez retourner se trouve dans la troisième colonne du tableau. Veuillez les modifier selon vos besoins.
7. Continuez à sélectionner la première cellule résultat, puis faites glisser la poignée de recopie vers le bas pour obtenir tous les résultats avec leur couleur d'arrière-plan. Voir la capture d'écran.
Articles connexes :
- Comment copier la mise en forme source de la cellule recherchée lors de l'utilisation de la fonction Recherche verticale dans Excel ?
- Comment effectuer une recherche verticale et retourner un format de date au lieu d'un nombre dans Excel ?
- Comment utiliser la recherche verticale et somme dans Excel ?
- Comment effectuer une recherche verticale et retourner une valeur dans une cellule adjacente ou suivante dans Excel ?
- Comment effectuer une recherche verticale et retourner vrai/faux ou oui/non dans Excel ?
Meilleurs outils de productivité pour Office
Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la 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 facilite grandement votre travail
- Activez la modification 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é de50 %, et réduit des centaines de clics de souris pour vous chaque jour !