Format Conditionnel ou code VBA

  • Initiateur de la discussion Initiateur de la discussion jacky49
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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:
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
 
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
 
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 🙂
 
lig = Target.Row
Range("a1😱5").Interior.Pattern = xlNone
If Not Intersect(Target, Range("m1:m5")) Is Nothing Then
Range("a" & lig & "😱" & 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
 
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 🙂
 
Option Explicit
Private
Sub Worksheet_SelectionChange(ByVal c As Range)
[a5😱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
 
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 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
674
Réponses
11
Affichages
568
Réponses
3
Affichages
442
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
773
  • Question Question
Microsoft 365 Code vba
Réponses
3
Affichages
476
Réponses
2
Affichages
371
Retour