XL 2010 Griser une ligne sous conditions

Scorpio

XLDnaute Impliqué
Bonjour à vous tous,
Juste un petit souci pour griser une ligne à la plage d'une plage de cellule.
J'ai une macro trouver sur le net, mais j'aimerais corriger le grisement d'une cellule par une ligne par ex: de B1à H1
Voici le code:
Private Sub Worksheet_Change(ByVal Target As Range)
'Condition pour griser une cellule
Dim Cellule As Range
If Not Application.Intersect(Target, Range("A1:A10")) Is Nothing Then
For Each Cellule In Target
If Cellule.Value = "G" Then 'changer le nom entre "" ou le chiffre sans les ""
Cellule.Offset(0, 1).Interior.Color = 255
ElseIf Cellule.Value = 2 Then 'changer le nom entre "" ou le chiffre sans les ""
Cellule.Offset(0, 1).Interior.Color = 5296274
ElseIf Cellule.Value = 3 Then 'changer le nom entre "" ou le chiffre sans les ""
Cellule.Offset(0, 1).Interior.Color = 15773696
Else
Cellule.Offset(0, 1).Interior.Pattern = xlNone
End If
Next Cellule
End If
End Sub

Merci de me donner un petit coup de pouce
A+++
 

Hieu

XLDnaute Impliqué
Salut,

Un essai :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cellule As Range
lig = Target.Row
Set plage = Range(Range("b" & lig), Range("h" & lig)).Interior
If Not Application.Intersect(Target, Range("A1:A10")) Is Nothing Then
    Select Case Target
        Case "G": plage.Color = 255
        Case 2: plage.Color = 5296274
        Case 3: plage.Color = 15773696
        Case Else: plage.Pattern = xlNone
    End Select
End If
End Sub
 

Scorpio

XLDnaute Impliqué
Bonjour Hieu,
C'est super je vous remercie beaucoup, et j'aimerais juste vous demander si possible bien sur, dans ce code, j'aimerais ajouter un supplément.
C'est à dire,
lorsque je saisis "G" dans A1 je grise la ligne de b à h, OK,
et lorsque je saisis "N" dans A1, je grise la ligne de k à p.
Voilà et un grand merci Hieu pour votre aide
A+++
 

Hieu

XLDnaute Impliqué
Salut,

Il suffit de rajouter un cas:
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cellule As Range
lig = Target.Row
Set plage = Range(Range("b" & lig), Range("h" & lig)).Interior
If Not Application.Intersect(Target, Range("A1:A10")) Is Nothing Then
   Select Case Target
       Case "G": plage.Color = 255
       Case "N": Range(Range("k" & lig), Range("p" & lig)).Interior.Color = 12345 ' couleur au hasard
       Case 2: plage.Color = 5296274
       Case 3: plage.Color = 15773696
       Case Else: plage.Pattern = xlNone
   End Select
End If
End Sub
 

Discussions similaires

Réponses
1
Affichages
173

Statistiques des forums

Discussions
314 019
Messages
2 104 649
Membres
109 092
dernier inscrit
ahm74