Colorier dans un tableau les valeurs trouvées dans une liste

Bonjour,

J’ai un tableau Excel qui va de A3 à F13.

La colonne A ne contient pas de cellules vides mais les colonnes B à F peuvent contenir un nombre ou être vides.

Dans la cellule H1, j’introduis un nombre qui est présent dans la colonne A (je l’appelle « la graine »).

A l’aide de la fonction « RECHERCHEV », j’indique en H2:H6, toutes les valeurs que l’on retrouve dans les colonnes B à F de la ligne de la graine.

Ma question :

Y a-t-il moyen de colorier en jaune toutes les cellules du tableau A3:F13 dont on retrouve la valeur en H2:H6 et, cerise sur le gâteau, de colorier en rouge la cellule contenant la graine dans la colonne A ?

D’avance, je vous remercie infiniment.

image
6recherche.xlsx (9.71 Ko)

Bonjour,

Merci de nous mettre ton fichier exemple plutôt qu'une image dont on ne peut rien faire.

Voilà, j'ai annexé le fichier. Je n'avais pas trouvé comment on faisait ... mais j'ai fini par trouver :-)

Bonjour

Fichier en retour

Cordialement

48mfc.xlsx (10.44 Ko)

Merci Amadéus,

Je suis sauvé ! c'est exactement ce que je voulais. Merci et encore Bravo !

Olivier

Bonjour le fil, bonjour le forum,

Une proposition VBA avec le code ci-dessous :

Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet
Dim PL As Range 'déclare la variable PL (PLage)
Dim CEL As Range 'déclare la variable CEL (CELlule)
Dim R As Range 'déclare la variable R (Recherche)
Dim LI As Integer 'déclare la variable LI (LIgne)
Dim I As Integer 'déclare la variable I (Incrément)
Dim J As Integer 'déclare la variable J (incrément)

If Target.Address <> "$H$1" Then Exit Sub 'si la changement a lieun ailleurs que dans H1, sort de la procédure
Set PL = Range("H2:H6") 'définit la plage PL
PL.ClearContents 'efface le contenu de la plage PL
Range("A3:F13").Interior.ColorIndex = xlNone 'supprime les coleurs dans la plage A3:F13
If Target.Value = "" Then Exit Sub 'si H1 est effacée, sort de la procédure
Set R = Columns(1).Find(Target.Value, , xlValues, xlWhole) 'définit la recherche R (recherche la valeur entière de H 1 dans la colonne 1)
If Not R Is Nothing Then 'condition 1 : s'il existe au moins une occurrence trouvée
    LI = R.Row 'définit la ligne LI de la première occurrence trouvée
    For J = 2 To 6 'boucle sur les colonne 2 à 6 (=B à F)
        Cells(J, "H").Value = IIf(Cells(LI, J).Value = "", 0, Cells(LI, J).Value) 'récupère dans la cellule ligne J colonne H, la valeur de la cellule ligne LI, colonne J
    Next J 'prochaine colonne de la boucle
    For Each CEL In PL 'boucle 1 : sur toutes les cellules CEl de la plage PL
        For I = 3 To 13 'boucle 2 : sur toutes les lignes I de 3 a 13
            For J = 1 To 6 'boucle 3 sur toutes les colonne J de 1 à 6
                If Not Cells(I, J) = 0 Then 'condition 2 : si la cellule ligne I colonne J n'est pas nulle
                    If Cells(I, J) = CEL.Value Then Cells(I, J).Interior.ColorIndex = 6 'colore en jaune la cellule ligne I colonne J si elle est égale à la cellule CEL
                End If 'fin de la condition 2
            Next J 'prochaine colonne de la boucle 3
        Next I 'prochaine ligne de la boucle 2
    Next CEL 'prochaine cellule de la boucle 1
    R.Interior.ColorIndex = 3 'colore en rouge la cellule de la première occurence trouvée
End If 'fin de la condition
End Sub

Le fichier :

16olivier-ep-v01.xlsm (17.87 Ko)
Rechercher des sujets similaires à "colorier tableau valeurs trouvees liste"