dans un tableau incerer 1 couleur dans 1 cellule selon la répons e

Le
couleur ds une cellule selon la réponse
comment incerer une couleur dans une cellule par rapport à la réponse donné
exemple si on met sa taille et son poids sa nous donne l'imc la couleur nous
donne la tranche imc
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Essart
Le #20115461
Bonjour,

2 réponses possibles à la question:
- sans VBA, pas les mises en forme conditionnelles (Outils/MEFC ou, sous
2007, Accueil/ Mise en forme conditionnelle )
et "la valeur de la cellule est comprise entre ..." et cliquer sur format
pour personnaliser ...
Le nombre de MEFC est limité à 3 en plus du format initial sous 2000 et
2003, contrairement à 2007.

- Pour plus de 3 sous 2000 ou 2003, il faut le faire sous VBA :
dans le VBA de la feuille :
-> Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("C2:C50"))Is Nothing And Target.Count = 1
Then ' pour un plage C2 à C50

ou si plage nommée : If Not Intersect(Target, Range("MaPlage")) Is Nothing
And Target.Count = 1 And Not temoin Then

et :
If Target.value < 0.18 then Target.Interior.ColorIndex = 37 ' pour du
bleu en fond de cellule
ElseIf Target.value < 0.2 then Target.Interior.ColorIndex = 40 ' pour
du brun
...
End If
End If
End Sub

à tester !

Essart


"couleur ds une cellule selon la réponse" <couleur ds une cellule selon la
ré a écrit dans le message de news:

comment incerer une couleur dans une cellule par rapport à la réponse
donné
exemple si on met sa taille et son poids sa nous donne l'imc la couleur
nous
donne la tranche imc


Essart
Le #20115441
avec une petite erreur sur la ligne pour la plage nommée

erreur corrigée dans ce qui suit :
-> Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("C2:C50"))Is Nothing And _
Target.Count = 1 Then ' pour un plage C2 à C50

ou si plage nommée :
If Not Intersect(Target, Range("MaPlage")) Is Nothing _
And Target.Count = 1 Then

et :
If Target.value < 0.18 then Target.Interior.ColorIndex = 37 ' pour du
bleu en fond de cellule
ElseIf Target.value < 0.2 then Target.Interior.ColorIndex = 40 ' pour
du brun
...
End If
End If
End Sub
LSteph
Le #20117001
Bonjour,

Lorsqu'il y a pas mal de conditions un select case est souvent plus
commode que plein d'if
Supposons les entrées d'IMC en B2:B10 et qui pourraient se faire
manuellement ou par copier coller (une ou plusieurs))


Private Sub Worksheet_Change(ByVal Target As Range)
Dim iSect As Range, c As Range
Set iSect = Intersect(Target, [b2:b10])
If iSect Is Nothing Then Exit Sub
For Each c In [b2:b10]
If IsEmpty(c) Then
c.Interior.ColorIndex = 0
Else
Select Case c
Case Is < 18
c.Interior.ColorIndex = 41
Case Is < 25
c.Interior.ColorIndex = 42
Case Is < 30
c.Interior.ColorIndex = 43
Case Is < 40
c.Interior.ColorIndex = 44
Case Else
c.Interior.ColorIndex = 3
End Select
End If
Next
End Sub

'lSteph

On 11 sep, 07:49, couleur ds une cellule selon la réponse <couleur ds
une cellule selon la ré wrote:
comment incerer une couleur dans une cellule par rapport à la réponse donné
exemple si on met sa taille et son poids sa nous donne l'imc la couleur n ous
donne la tranche imc


LSteph
Le #20117161
Bonjour,

...et plutôt si un calcul en C2:C10 est obtenu selon Entrée des Poids
et Taille en A2:B10
par la formule type: =SI(B2="";"";A2/(B2)^2)


Private Sub Worksheet_Calculate()
For Each c In [c2:c10]
If c = "" Then
c.Interior.ColorIndex = 0
Else
Select Case c
Case Is < 18
c.Interior.ColorIndex = 41
Case Is < 25
c.Interior.ColorIndex = 42
Case Is < 30
c.Interior.ColorIndex = 43
Case Is < 40
c.Interior.ColorIndex = 44
Case Else
c.Interior.ColorIndex = 3
End Select
End If
Next
End Sub

'lSteph

On 11 sep, 07:49, couleur ds une cellule selon la réponse <couleur ds
une cellule selon la ré wrote:
comment incerer une couleur dans une cellule par rapport à la réponse donné
exemple si on met sa taille et son poids sa nous donne l'imc la couleur n ous
donne la tranche imc


Publicité
Poster une réponse
Anonyme