Couleur d'une ligne selon valeur

Le
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
égal à V

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

Merci.
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
cousinhub
Le #4529521
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.



JP25
Le #4529511
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"
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.
cousinhub
Le #4529491
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"
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.





JP25
Le #4529381
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" 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"
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.






cousinhub
Le #4529361
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" 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"
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.









Apitos
Le #4553811
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.
Apitos
Le #4553051
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.
cousinhub
Le #4552291
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.



Apitos
Le #4545421
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.
cousinhub
Le #4545331
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.




Publicité
Poster une réponse
Anonyme