Couleur selon liste

Bonjour @ tous,

j'utilise un userform où je génère une liste de fruits et légumes, je modifie la couleur de la ligne contenant des fruits uniquement comme ceci en fonction du mot sur le colonne H :

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Target, Range("H:H")) Is Nothing Then _
    Rows(Target.Row).Font.Color = IIf(UCase(Target) = "banane" Or UCase(Target) = "orange" Or UCase(Target) = "pomme" _
    Or UCase(Target) = "fraise" Or UCase(Target) = "mandarine" Or UCase(Target) = "cerise" Or UCase(Target) = "kiwi", _
    RGB(255, 0, 0), RGB(224, 255, 0))

End Sub

sauf que la liste étant longue je voudrai pouvoir modifié la couleur selon une liste qui se trouve dans la feuille "données" ou en A1 j'ai le titre "Fruits" et à partir de A2...... vers l'infini j'ai ma liste de fruits.

Comment faire pour modifier le code en fonction de mal iste

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Target, Range("H:H")) Is Nothing Then _
    Rows(Target.Row).Font.Color = IIf(UCase(Target) = ici le code qui vient chercher ma liste de fruits ?........  , _
    RGB(255, 0, 0), RGB(224, 255, 0))

End Sub

Merci et passé de bonnes fêtes de fin d'année !

Bonjour Padawan.

Avec une mise en forme conditionnelle tu peux trouver une solution.

Mais pour t'aider un fichier est très très (très) utile.

Bonjour, comme ça ?

Merci.

Il n'y a pas de feuilles données dans ton fichier ..

voilà

Avec une mise en forme conditionnelle.

Merci,

et sans mise en forme conditionnelle quelque'un à une solution ?

Bonsoir,

Une proposition à étudier.

Cdlt.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range, N
    If Target.CountLarge > 1 Then Exit Sub
    If Not Intersect(Target, Range("H2:H1000")) Is Nothing Then
        Set rng = Worksheets("donnees").ListObjects(1).DataBodyRange
        N = Application.Match(UCase(Target.Value), rng, 0)
        If Not IsError(N) Then
            Rows(Target.Row).Font.Color = RGB(255, 0, 0)
        Else
            Rows(Target.Row).Font.Color = RGB(160, 0, 255)
        End If
    End If
End Sub

Bonjour, c'est super !!!

Joyeux noël à tous !

Rechercher des sujets similaires à "couleur liste"