Bonjour le Forum,
j'ai un tableau de A5 à O5, je cherche comment définir un format conditionnel qui lorsqu'on se déplace de cellule en cellule dans la colonne M, cela me met toute la ligne en Jaune par exemple, si je me place en M6, cela me met la ligne A6 à O6 en jaune et si ensuite je me place en M10, cela me met la ligne A10 à O10 en jaune , ou sinon, est ce possible par code VBA
j'espère être assez clair
merci d'avance
jacky
Bonsoir le forum,
voila, j'ai trouvé un code qui me colorie bien la ligne quand je suis sur une cellule de cette ligne, mais ce que j'aimerais , c'est qu'elle fonctionne seulement lorsque je sélectionne une cellule de la colonne M
je vous mets ci-dessous le code
D'avance Merci
Jacky
Sub Couleur()
Dim i As Integer
Dim j As Integer
j = ActiveCell.Previous.Row
For j = 5 To 603
If Rows(j).Interior.ColorIndex = 8 Then
Rows(j).Interior.ColorIndex = 2
End If
Next j
i = ActiveCell.Row
Rows(i).Interior.ColorIndex = 8
saut:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
lig = Target.Row
Range("a1:o5").Interior.Pattern = xlNone
If Not Intersect(Target, Range("m1:m5")) Is Nothing Then
Range("a" & lig & ":o" & lig).Interior.Color = 65535
End If
End Sub
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal c As Range)
If c.Column = 13 And c.Row > 4 Then
[a5:o65000].Interior.ColorIndex = xlNone
c.Offset(, -12).Resize(, 15).Interior.Color = 13500415
End If
End Sub
merci de ton aide, donc voila ceci fonctionne, par contre, j'aimerais que lorsque je change de cellule, exemple que je suis dans la cellule M6, cela me colorie la ligne 6, ce que fais bien ton code et si je passe de la cellule M6 a M8 par ex, cela me remets la ligne M6 en fond blanc et me colorie la ligne 7 et si je me mets dans une autre cellule autre que la colonne M, cela me laisse le fond blanc
j'espère avoir été clair
merci d'avance
jacky
Dans ce cas, remplacer le code du #4 par le suivant :
VB:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal c As Range)
[a5:o65000].Interior.ColorIndex = xlNone
If c.Column = 13 And c.Row > 4 Then
c.Offset(, -12).Resize(, 15).Interior.Color = 13500415
End If
End Sub
OptionExplicit
PrivateSub Worksheet_SelectionChange(ByVal c As Range)
[a565000].Interior.ColorIndex = xlNone If c.Column = 13 And c.Row > 4 Then
c.Offset(, -12).Resize(, 15).Interior.Color = 13500415 EndIf
EndSub
c'est exactement cela, merci beaucoup, j'ai une autre demande, car dans cette feuille, j'avais aussi un code qui me me réafichait des colonnes, comment les intégrer à ton code , je te le mets ci-dessous
merci d'avance
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A5:R600")) Is Nothing Then Rows("1:1").Hidden = False
If Not Application.Intersect(Target, Range("A5:R600")) Is Nothing Then Columns("A:R").Hidden = False
End Sub
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal c As Range)
[a5:o65000].Interior.ColorIndex = xlNone
If Not Application.Intersect(c, Range("A5:R600")) Is Nothing Then Rows("1:1").Hidden = False
If Not Application.Intersect(c, Range("A5:R600")) Is Nothing Then Columns("A:R").Hidden = False
If c.Column = 13 And c.Row > 4 Then
c.Offset(, -12).Resize(, 15).Interior.Color = 13500415
End If
End Sub