création d'une macro pb de sélection

K

Karla

Guest
bonjour,
je cherche à faire une macro qui,quand je sélectionne une cellule colore en rouge celle d'avant, celle d'après et celle située 4cases plus loin.. je n'y arrice vraiment pas. quelq'un pourrait il m'aider ?
 

ERIC S

XLDnaute Barbatruc
Bonjour

A adapter
A mettre sur la feuille considérée et non dan sun module

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'efface les couleurs présentes sur la feuille
Cells.Interior.ColorIndex = xlNone
'teste selon position
If Target.Column 'supérieur' 1 Then Target.Offset(0, -1).Interior.Color = RGB(255, 0, 0)
If Target.Column 'inférieur' 256 Then Target.Offset(0, 1).Interior.Color = RGB(255, 0, 0)
If Target.Column 'inférieur' 253 Then Target.Offset(0, 4).Interior.Color = RGB(255, 0, 0)
End Sub

A+
 
P

Pierrot93

Guest
Bonjour Karla

Tu peux essayer le code ci dessous, mais la cellule active doit être au moins sur la 2ème liggne

Bonne journée

Sub TestCouleur()
ActiveCell.Offset(1, 0).Interior.ColorIndex = 3
ActiveCell.Offset(-1, 0).Interior.ColorIndex = 3
ActiveCell.Offset(4, 0).Interior.ColorIndex = 3
End Sub
 

ERIC S

XLDnaute Barbatruc
re

pour protéger aussi contre les multisélections (plusieurs lignes ou colonnes)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'efface les couleurs présentes sur la feuille
Cells.Interior.ColorIndex = xlNone
If Target.Columns.Count > 1 Or Target.Rows.Count > 1 Then Exit Sub
'teste selon position
If Target.Column 'supérieur' 1 Then Target.Offset(0, -1).Interior.Color = RGB(255, 0, 0)
If Target.Column 'inférieur' 256 Then Target.Offset(0, 1).Interior.Color = RGB(255, 0, 0)
If Target.Column 'inférieur' 253 Then Target.Offset(0, 4).Interior.Color = RGB(255, 0, 0)
End Sub

en remplaçant supérieur et inférieur par leurs signes

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 347
Messages
2 087 502
Membres
103 563
dernier inscrit
samyezzehar