Format Conditionnel ou code VBA

jacky49

XLDnaute Impliqué
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
 
Dernière édition:

jacky49

XLDnaute Impliqué
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:

Exit Sub
End Sub
 

Hieu

XLDnaute Impliqué
Salut,

A mettre dans la feuille voulue:
VB:
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
 

DoubleZero

XLDnaute Barbatruc
Bonjour, jacky49, Hieu, le Forum,

Autre possibilité :
VB:
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
A bientôt :)
 

jacky49

XLDnaute Impliqué
lig = Target.Row
Range("a1:eek:5").Interior.Pattern = xlNone
If Not Intersect(Target, Range("m1:m5")) Is Nothing Then
Range("a" & lig & ":eek:" & lig).Interior.Color = 65535
End If
Bonsoir Hieu, le Forum

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
 

DoubleZero

XLDnaute Barbatruc
Re-bonjour,
... si je me mets dans une autre cellule autre que la colonne M, cela me laisse le fond blanc...
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
A bientôt :)
 

jacky49

XLDnaute Impliqué
Option Explicit
Private
Sub Worksheet_SelectionChange(ByVal c As Range)
[a5:eek:65000].Interior.ColorIndex = xlNone
If c.Column = 13 And c.Row > 4 Then
c.Offset(, -12).Resize(, 15).Interior.Color = 13500415
End If
End
Sub
Bonsoir DoubleZero,

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
 

DoubleZero

XLDnaute Barbatruc
Re-bonjour,

Comme ceci ?
VB:
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
A bientôt :)
 

Membres actuellement en ligne

Statistiques des forums

Discussions
314 645
Messages
2 111 536
Membres
111 185
dernier inscrit
Laurent.