Fonction qui change la couleur du fond de la cellule si la valeur de celle-ci est différente d'un quota donné
Bonsoir, je travaille sur une fonction qui change la couleur du fond de la cellule en fonction du jour de la semaine par rapport à une date et un quota à respecter. Si la valeur de la cellule est différent du quota le fond de la cellule devient rouge.
Le problème c'est que je n'arrive pas à changer le fond de la cellule mais seulement la police avec
Code:
Selection.Font.ColorIndex = 3
avec
Code:
Selection.Interior.ColorIndex = 3
cela me met #VALEUR! ds la cellule
Plage = Cellule avec la date
Nombre = Valeur de la cellule
Quota =
Code:
If Nombre <> "2" Then
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| Option Explicit
Function JourDate(Plage As Range, Nombre As String)
Application.Volatile True
'numéro de jour
Dim numerojour As Date
Dim nj As String
numerojour = Plage
nj = Format(numerojour, "DDDD")
If nj = "lundi" Then
If Nombre <> "2" Then 'Quota
JourDate = Nombre
Selection.Font.ColorIndex = 3
Else
JourDate = Nombre
Selection.Font.ColorIndex = 1
End If
ElseIf nj = "mardi" Then
If Nombre <> "2" Then
JourDate = Nombre
Selection.Font.ColorIndex = 3
Else
JourDate = Nombre
Selection.Font.ColorIndex = 1
End If
ElseIf nj = "mercredi" Then
If Nombre <> "2" Then
JourDate = Nombre
Selection.Font.ColorIndex = 3
Else
JourDate = Nombre
Selection.Font.ColorIndex = 1
End If
ElseIf nj = "jeudi" Then
If Nombre <> "2" Then
JourDate = Nombre
Selection.Font.ColorIndex = 3
Else
JourDate = Nombre
Selection.Font.ColorIndex = 1
End If
ElseIf nj = "vendredi" Then
If Nombre <> "2" Then
JourDate = Nombre
Selection.Font.ColorIndex = 3
Else
JourDate = Nombre
Selection.Font.ColorIndex = 1
End If
ElseIf nj = "samedi" Then
If Nombre <> "2" Then
JourDate = Nombre
Selection.Font.ColorIndex = 3
Else
JourDate = Nombre
Selection.Font.ColorIndex = 1
End If
ElseIf nj = "dimanche" Then
If Nombre <> "2" Then
JourDate = Nombre
Selection.Font.ColorIndex = 3
Else
JourDate = Nombre
Selection.Font.ColorIndex = 1
End If
End If
End Function |
Merci de votre aide