Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Couleur d'une ligne selon valeur

11 réponses
Avatar
Apitos
Salut,

Quel sera le code pour que je vois :

- La ligne A-E se colorier en jaune si la veleur dans la colonne C est
=E9gal =E0 V

- La ligne F-K se colorier en vert si la veleur dans la colonne I est
=E9gal =E0 R

Merci.

10 réponses

1 2
Avatar
cousinhub
Bonsoir,
par exemple, tu sélectionnes de A2 à E100, et tu choisis Format/Mise en
forme conditionnelle.
Tu sélectionnes en condition1 : La formule est
et dans la case d'à côté, tu entres
=$C2="V"
Notes bien l'adressage absolu pour la colonne C ($)
Ensuite, tu choisis le format approprié.
Idem pour la deuxième question
Bon courage

Salut,

Quel sera le code pour que je vois :

- La ligne A-E se colorier en jaune si la veleur dans la colonne C est
égal à V

- La ligne F-K se colorier en vert si la veleur dans la colonne I est
égal à R

Merci.



Avatar
JP25
bonjour,
code pour colonnes F:K

Sub Macro5()
'sélectionner cellules concernées
Selection.FormatConditions.Add Type:=xlExpression,
Formula1:="=$I$2=""r"""
Selection.FormatConditions(1).Interior.ColorIndex = 4
End Sub

J'espère que c'est ce que tu souhaites

JP25
A+
"Apitos" a écrit dans le message de news:

Salut,

Quel sera le code pour que je vois :

- La ligne A-E se colorier en jaune si la veleur dans la colonne C est
égal à V

- La ligne F-K se colorier en vert si la veleur dans la colonne I est
égal à R

Merci.
Avatar
cousinhub
Bonsoir, JP25
es-tu sûr pour
Formula1:="=$I$2=""r"""



Adressage absolu ou relatif pour le numéro de ligne?
ou plutôt Formula1:="=$I2=""r"""
Amicalement

bonjour,
code pour colonnes F:K

Sub Macro5()
'sélectionner cellules concernées
Selection.FormatConditions.Add Type:=xlExpression,
Formula1:="=$I$2=""r"""
Selection.FormatConditions(1).Interior.ColorIndex = 4
End Sub

J'espère que c'est ce que tu souhaites

JP25
A+
"Apitos" a écrit dans le message de news:

Salut,

Quel sera le code pour que je vois :

- La ligne A-E se colorier en jaune si la veleur dans la colonne C est
égal à V

- La ligne F-K se colorier en vert si la veleur dans la colonne I est
égal à R

Merci.





Avatar
JP25
Attention,
Formula1:="=$I$2=""r""", doit se trouver derriere xlexpression et non a la
ligne en dessous

Si ce n'est pas le cas,
Place toi a la fin de xlexpression
et fait sup
tu n'auras plus de message d'erreur dans le code
JP25

"cousinhub" a écrit dans le message de news:
uv$
Bonsoir, JP25
es-tu sûr pour
Formula1:="=$I$2=""r"""



Adressage absolu ou relatif pour le numéro de ligne?
ou plutôt Formula1:="=$I2=""r"""
Amicalement

bonjour,
code pour colonnes F:K

Sub Macro5()
'sélectionner cellules concernées
Selection.FormatConditions.Add Type:=xlExpression,
Formula1:="=$I$2=""r"""
Selection.FormatConditions(1).Interior.ColorIndex = 4
End Sub

J'espère que c'est ce que tu souhaites

JP25
A+
"Apitos" a écrit dans le message de news:

Salut,

Quel sera le code pour que je vois :

- La ligne A-E se colorier en jaune si la veleur dans la colonne C est
égal à V

- La ligne F-K se colorier en vert si la veleur dans la colonne I est
égal à R

Merci.






Avatar
cousinhub
Re-,
Non, je voulais juste te dire qu'en mettant un adressage absolu, du type
$I$2, tes formats de cellule ne répondront qu'à la valeur de la cellule I2.
En écrivant $I2, donc un adressage relatif sur le numéro de ligne, mais
un adressage absolu sur le nom de la colonne, ta formule sera valable
pour toute ta plage de cellules sélectionnée...si tu as sélectionné
plusieurs lignes.
Et comme dans ton code, tu désires sélectionner les colonnes entières de
F à K, non conseillé, la sélection entière de colonnes ne fait que
grossir le poids des fichiers, celles-ci ne se mettront au format voulu
que si la cellule I2 est égale à (r), et par pour toutes les autres
cellules de la colonne I.
Bonne soirée


Attention,
Formula1:="=$I$2=""r""", doit se trouver derriere xlexpression et non a la
ligne en dessous

Si ce n'est pas le cas,
Place toi a la fin de xlexpression
et fait sup
tu n'auras plus de message d'erreur dans le code
JP25

"cousinhub" a écrit dans le message de news:
uv$
Bonsoir, JP25
es-tu sûr pour
Formula1:="=$I$2=""r"""
Adressage absolu ou relatif pour le numéro de ligne?


ou plutôt Formula1:="=$I2=""r"""
Amicalement

bonjour,
code pour colonnes F:K

Sub Macro5()
'sélectionner cellules concernées
Selection.FormatConditions.Add Type:=xlExpression,
Formula1:="=$I$2=""r"""
Selection.FormatConditions(1).Interior.ColorIndex = 4
End Sub

J'espère que c'est ce que tu souhaites

JP25
A+
"Apitos" a écrit dans le message de news:

Salut,

Quel sera le code pour que je vois :

- La ligne A-E se colorier en jaune si la veleur dans la colonne C est
égal à V

- La ligne F-K se colorier en vert si la veleur dans la colonne I est
égal à R

Merci.









Avatar
Apitos
C'est qu'aujourd'hui que j'ai pu voir les réponses.

Peut-etre un probleme de site.

Bon, j'ai coder ce qui suit :

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 3 Or Target.Column = 9 Then
Select Case Target.Text
Case Is = "v" Or "V"
Range("A" & Target.Row, "F" &
Target.Row).Interior.ColorIndex = 19
Range("G" & Target.Row, "M" &
Target.Row).Interior.ColorIndex = 19
Case Is = "r" Or "R"
Range("A" & Target.Row, "F" &
Target.Row).Interior.ColorIndex = 44
Range("G" & Target.Row, "M" &
Target.Row).Interior.ColorIndex = 44
End Select
End If
Application.EnableEvents = True

End Sub

Mais il y'a des erreurs.

Une petite correction SVP ?

Merci.
Avatar
Apitos
J'ai un peu modifier le code :

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Intersect(Target, Range("C2:C" &
Range("C65536").End(xlUp).Row)) Is Nothing Then
If Intersect(Target, Range("I3:I" &
Range("I65536").End(xlUp).Row)) Is Nothing Then Exit Sub
End If
On Error GoTo Fin

'Premier tableau
If Target.Column = 3 And Target.Count = 1 Then
Select Case LCase(Target.Text)
Case Is = "v"
Range("A" & Target.Row & ":F" &
Target.Row).Interior.ColorIndex = 19
Case Is = "r"
Range("A" & Target.Row & ":F" &
Target.Row).Interior.ColorIndex = 44
Case Else
Range("A" & Target.Row & ":F" &
Target.Row).Interior.ColorIndex = xlNone
End Select
End If

'Deuxieme tableau
If Target.Column = 9 And Target.Count = 1 Then
Select Case LCase(Target.Text)
Case Is = "v"
Range("G" & Target.Row & ":M" &
Target.Row).Interior.ColorIndex = 19
Case Is = "r"
Range("G" & Target.Row & ":M" &
Target.Row).Interior.ColorIndex = 44
Case Else
Range("G" & Target.Row & ":M" &
Target.Row).Interior.ColorIndex = xlNone
End Select
End If
Application.EnableEvents = True
Fin:
End Sub

Mais :
- Il ne fonctionne que pour le premier tableau et non pas pour le
deuxieme
- Quand je saisi un autre texte dans la colonne C, la procedure
s'arretera, même si je saisi "v" ou "r" dans Col C.

Ou est l'erreur ?

Merci.
Avatar
cousinhub
Bonsoir, en partant de ton code, essaie ceci :

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
On Error GoTo Fin
Select Case Target.Column
'Premier tableau
Case Is = "3"
If Target.Count = 1 Then
Select Case LCase(Target.Text)
Case Is = "v"
Range("A" & Target.Row & ":F" &
Target.Row).Interior.ColorIndex = 19
Case Is = "r"
Range("A" & Target.Row & ":F" &
Target.Row).Interior.ColorIndex = 44
Case Else
Range("A" & Target.Row & ":F" &
Target.Row).Interior.ColorIndex = xlNone
End Select
End If

'Deuxieme tableau
Case Is = "9"
If Target.Count = 1 Then
Select Case LCase(Target.Text)
Case Is = "v"
Range("G" & Target.Row & ":M" &
Target.Row).Interior.ColorIndex = 19
Case Is = "r"
Range("G" & Target.Row & ":M" &
Target.Row).Interior.ColorIndex = 44
Case Else
Range("G" & Target.Row & ":M" &
Target.Row).Interior.ColorIndex = xlNone
End Select
End If
End Select
Application.EnableEvents = True
Fin:
End Sub

Bonne soirée

J'ai un peu modifier le code :

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Intersect(Target, Range("C2:C" &
Range("C65536").End(xlUp).Row)) Is Nothing Then
If Intersect(Target, Range("I3:I" &
Range("I65536").End(xlUp).Row)) Is Nothing Then Exit Sub
End If
On Error GoTo Fin

'Premier tableau
If Target.Column = 3 And Target.Count = 1 Then
Select Case LCase(Target.Text)
Case Is = "v"
Range("A" & Target.Row & ":F" &
Target.Row).Interior.ColorIndex = 19
Case Is = "r"
Range("A" & Target.Row & ":F" &
Target.Row).Interior.ColorIndex = 44
Case Else
Range("A" & Target.Row & ":F" &
Target.Row).Interior.ColorIndex = xlNone
End Select
End If

'Deuxieme tableau
If Target.Column = 9 And Target.Count = 1 Then
Select Case LCase(Target.Text)
Case Is = "v"
Range("G" & Target.Row & ":M" &
Target.Row).Interior.ColorIndex = 19
Case Is = "r"
Range("G" & Target.Row & ":M" &
Target.Row).Interior.ColorIndex = 44
Case Else
Range("G" & Target.Row & ":M" &
Target.Row).Interior.ColorIndex = xlNone
End Select
End If
Application.EnableEvents = True
Fin:
End Sub

Mais :
- Il ne fonctionne que pour le premier tableau et non pas pour le
deuxieme
- Quand je saisi un autre texte dans la colonne C, la procedure
s'arretera, même si je saisi "v" ou "r" dans Col C.

Ou est l'erreur ?

Merci.



Avatar
Apitos
Merci cousinhub.

Ca marche tres bien.

Et si je veux appliquer un cadrillage aux lignes concernées par les
valeurs "v" et "r", et enlever celui-ci si n'y a des valeurs autres
uae "v" ou "r" ?

Merci.
Avatar
cousinhub
Bonjour,
essaie avec ceci :

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
On Error GoTo Fin
Select Case Target.Column
Case Is = "3"
If Target.Count = 1 Then
Select Case LCase(Target.Text)
Case Is = "v"
With Range("A" & Target.Row & ":F" & Target.Row)
.Interior.ColorIndex = 19
.Borders.LineStyle = xlContinuous
.Borders.Weight = xlThick
.Borders(xlInsideVertical).LineStyle = xlNone
End With
Case Is = "r"
With Range("A" & Target.Row & ":F" & Target.Row)
.Interior.ColorIndex = 44
.Borders.LineStyle = xlContinuous
.Borders.Weight = xlThick
.Borders(xlInsideVertical).LineStyle = xlNone
End With
Case Else
With Range("A" & Target.Row & ":F" & Target.Row)
.Interior.ColorIndex = xlNone
.Borders.LineStyle = xlNone
End With
End Select
End If
Case Is = "9"
If Target.Count = 1 Then
Select Case LCase(Target.Text)
Case Is = "v"
With Range("G" & Target.Row & ":M" & Target.Row)
.Interior.ColorIndex = 19
.Borders.LineStyle = xlContinuous
.Borders.Weight = xlThick
.Borders(xlInsideVertical).LineStyle = xlNone
End With
Case Is = "r"
With Range("G" & Target.Row & ":M" & Target.Row)
.Interior.ColorIndex = 44
.Borders.LineStyle = xlContinuous
.Borders.Weight = xlThick
.Borders(xlInsideVertical).LineStyle = xlNone
End With
Case Else
With Range("G" & Target.Row & ":M" & Target.Row)
.Interior.ColorIndex = xlNone
.Borders.LineStyle = xlNone
End With
End Select
End If
End Select
Fin:
Application.EnableEvents = True
End Sub

Bon dimanche

Merci cousinhub.

Ca marche tres bien.

Et si je veux appliquer un cadrillage aux lignes concernées par les
valeurs "v" et "r", et enlever celui-ci si n'y a des valeurs autres
uae "v" ou "r" ?

Merci.




1 2