Couleurs cellule et texte en fonction de la valeur de la cellule

Bonsoir à tous

je bricole ce code pour essayer de faire changer la couleur de ma cellule mais je ne m'en sors pas...

Une lumière pourrait m'éclairer ?

merci d'avance

Private Sub Worksheet_Change(ByVal Target As Range)

Application.ScreenUpdating = False

Dim Cellule As Range

Set Range = ("R10:U17")

'If Not Application.Intersect(Target, Range("R10:U17")) Is Nothing Then

For Each Cellule In Range

If Cellule.Value = 0 Then

Cellule.Offset(0, 0).Interior.Color = RGB(255, 0, 0)

Cellule.Offset(0, 0).Font.Color = RGB(255, 0, 0)

ElseIf Cellule.Value = 1 Then

Cellule.Offset(0, 0).Interior.Color = RGB(255, 0, 0)

Cellule.Offset(0, 0).Font.Color = RGB(255, 0, 0)

ElseIf Cellule.Value = 2 Then

Cellule.Offset(0, 0).Interior.Color = RGB(64, 64, 64)

Cellule.Offset(0, 0).Font.Color = RGB(64, 64, 64)

'ElseIf Cellule.Value = 3 Then

'Cellule.Offset(0, 0).Font.Color = RGB(255, 0, 0)

'Cellule.Offset(0, 0).Font.Color = RGB(255, 0, 0)

End If

Next Cellule

End If

End Sub

Bonjour,

Ce qui semble étonnant ... c'est que tu puisses saisir tes valeurs 0 ou 1 ou 2 ... n'importe où dans ta feuille ...!!!

Etrange ...

Est-ce-que tu n'aurais pas tout simplement oublié d'indiquer l'adresse de la cellule dans laquelle tu effectues ta saisie ...???

Et pourquoi Offset(0,0) ... qui ne sert à rien ... est-ce en attente d'une future modification ..???

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Dim Cellule As Range, Rng As Range
Set Rng = Range("R10:U17")
    For Each Cellule In Rng
        If Target.Value = 0 Then
            Cellule.Offset(0, 0).Interior.Color = RGB(255, 0, 0)
            Cellule.Offset(0, 0).Font.Color = RGB(255, 0, 0)

        ElseIf Target.Value = 1 Then
            Cellule.Offset(0, 0).Interior.Color = RGB(255, 0, 0)
            Cellule.Offset(0, 0).Font.Color = RGB(255, 0, 0)

        ElseIf Target.Value = 2 Then
            Cellule.Offset(0, 0).Interior.Color = RGB(64, 64, 64)
            Cellule.Offset(0, 0).Font.Color = RGB(64, 64, 64)
        End If
    Next Cellule
 Application.ScreenUpdating = True
End Sub

En espèrant que cela t'aide

Bonjour,

et pourquoi pas une simple MFC ?

eric

Bonjour,

et pourquoi pas une simple MFC ?

eric

Bonjour,

A priori ... j'ai l'impression qu'il a envie d'apprendre à construire une évènementielle ...

Bonjour

James, merci pour ta réponse !

Je regarde ta macro que mon ordi est allumé !

Mon fichier sera partagé donc pas de MFc...

Savez-vous d’ailleurs pourquoi la mfc ne fonctionne pas en mode partagé ? Pure question de culture Excel 😂

Bonjour,

les MFC fonctionnent dans un classeur partagé.

C'est leur modification/création qui est interdite.

eric

Re,

Et donc ...

Quelle est l'adresse de la cellule dans laquelle tu effectues ta saisie ...???

Alors ça fonctionne presque...

mais pas comme je le voudrais.

l'idée serait que quand la valeur d'une cellule de R10 U17 = 0 ou 1, alors cette même cellule passe au rouge, et passe au gris pour la valeur 2.

l'offset c'est parce que j'ai récupéré ce bout de macro ailleurs... mais dans mon cas il ne sert à rien !!

merci !!

Bonjour,

Dans la situation que tu décris ... comme Eric te l'a expliqué ... pas besoin de macro ... une simple MFC suffit ...

Ci-joint ton fichier test ...

En espèrant que cela t'aide

23test-dam0920.xlsx (10.90 Ko)

C'est parfait merci bcp...

ce qui est curieux c'est pourquoi je me suis mis en tête que la mfc ne fonctionnait pas en mode partagé...

1000 mercis

au plaisir !

Bonjour,

pourquoi je me suis mis en tête que la mfc ne fonctionnait pas en mode partagé..

Beaucoup ne lisent que distraitement le message d'alerte

eric

Rechercher des sujets similaires à "couleurs texte fonction valeur"