Couleur en fonction de la valeur

  • Initiateur de la discussion Initiateur de la discussion ico
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

I

ico

Guest
Bonsoir

voila j'ai ecris un script qui permet de change la couleur de fond et de la police
en fonction de l'état de la cellule.

Probleme je trouve cette formule un peu lourde voyez vous un moyen de la simplifier sans repeter autant de fois le range

If Range("I" & Target.Cells.Row) = "OK" Then
Range("C" & Target.Cells.Row).Interior.ColorIndex = 50
Range("D" & Target.Cells.Row).Interior.ColorIndex = 50
Range("E" & Target.Cells.Row).Interior.ColorIndex = 50
Range("F" & Target.Cells.Row).Interior.ColorIndex = 50
Range("G" & Target.Cells.Row).Interior.ColorIndex = 50
Range("H" & Target.Cells.Row).Interior.ColorIndex = 50
Range("I" & Target.Cells.Row).Interior.ColorIndex = 50

Range("C" & Target.Cells.Row).Font.ColorIndex = 2
Range("D" & Target.Cells.Row).Font.ColorIndex = 2
Range("E" & Target.Cells.Row).Font.ColorIndex = 2
Range("F" & Target.Cells.Row).Font.ColorIndex = 2
Range("G" & Target.Cells.Row).Font.ColorIndex = 2
Range("H" & Target.Cells.Row).Font.ColorIndex = 2
Range("I" & Target.Cells.Row).Font.ColorIndex = 2
End if


merci d'avance
 
Re : Couleur en fonction de la valeur

Salut Ico,

Tu pourrais raccourcir ton code comme cela
Code:
If Range("I" & Target.Cells.Row) = "OK" Then
  Cel = Target.Cells.Row
  Range("C" & Cel & :"I" & Cel).Interior.ColorIndex = 50
  Range("C" & Cel & ":I" & Cel).Font.ColorIndex = 2
End if

Voilà 😉
 
Re : Couleur en fonction de la valeur

Bonsoir Ico

essaye peut être comme ceci :

Code:
With Range("C" & Target.Row & "I" & Target.Row)
.Interior.ColorIndex = 50
.Font.ColorIndex = 2
End With

mais je ne comprends pas trop ton Target.Cells.Row.

bonne soirée
@+

Edition : bonsoir Bruno, plus rapide...
 
Dernière édition:
Re : Couleur en fonction de la valeur

bonjour ico

a tester:

Code:
If Range("I" & Target.Cells.Row) = "OK" Then
for n=3 to 9
Cells(n,Target.Row).Interior.ColorIndex = 50
Cells(n,Target.Row).Font.ColorIndex = 2
next n
End if

edit

suis en retard moi !!!

salut Bruno
Salut Pierrot
 
Re : Couleur en fonction de la valeur

Merci

A vous je post le script non fini si ca interresse quelqu'un (C'est une todo list)

Private Sub Worksheet_Change(ByVal Target As Range)

'Insertion automatique de la date et ID

If Target.Cells.Column = "4" Then
Range("C" & Target.Cells.Row) = Date
Range("I" & Target.Cells.Row) = "KO"
Compteur = Range("B" & Target.Cells.Row - 1).Value
Range("B" & Target.Cells.Row).Value = Compteur + 1
End If

'Mise en forme en fonction de l'état Côté DEV

'Etat ok
If Range("I" & Target.Cells.Row) = "OK" Then
For n = 3 To 9
Cells(Target.Row, n).Interior.ColorIndex = 14
Cells(Target.Row, n).Font.ColorIndex = 2
Next
End If

'Etat ko
If Range("I" & Target.Cells.Row) = "KO" Then
For n = 3 To 9
Cells(Target.Row, n).Interior.ColorIndex = 15
Cells(Target.Row, n).Font.ColorIndex = 1
Next
End If

'Etat pec
If Range("I" & Target.Cells.Row) = "PEC" Then
For n = 3 To 9
Cells(Target.Row, n).Interior.ColorIndex = 55
Cells(Target.Row, n).Font.ColorIndex = 2
Next
End If

'Etat vide
If Range("I" & Target.Cells.Row) = "" Then
For n = 3 To 9
Cells(Target.Row, n).Interior.ColorIndex = xlNone
Cells(Target.Row, n).Font.ColorIndex = 54
Next
End If





End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
1
Affichages
468
Réponses
5
Affichages
911
Réponses
15
Affichages
784
Réponses
4
Affichages
265
Retour