Re : ligne active
Salut Frank36 !
En premier, il te faut une macro évènementielle qui ne se lancera que lorsque tu cliqueras dans les cellules de ton tableau.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("E7:AI34")) Is Nothing Then
En deuxième, il te faut repèrer l'adresse de ta cellule active.
Dim Test
Test = ActiveCell.Column - 1
En dernier, il te faut colorier tes deux cellules désirées en colonne A et B tout en effaçant simultanément les cellules coloriées ultérieurement par la même macro :
'Nettoyage des cellules
Range("A7:B34").Cells.Interior.ColorIndex = xlNone
'Colorie la cellule en colonne A
ActiveCell.Offset(0, -Test).Interior.ColorIndex = 6
'Colorie la cellule en colonne B
ActiveCell.Offset(0, -Test + 1).Interior.ColorIndex = 6
Ce qui donne :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Test
Test = ActiveCell.Column - 1
If Not Application.Intersect(Target, Range("E7:AI34")) Is Nothing Then
'Nettoyage des cellules
Range("A7:B34").Cells.Interior.ColorIndex = xlNone
'Colorie la cellule en colonne A
ActiveCell.Offset(0, -Test).Interior.ColorIndex = 6
'Colorie la cellule en colonne B
ActiveCell.Offset(0, -Test + 1).Interior.ColorIndex = 6
End If
End Sub
Si tu ne veux pas voir le rafraichissement de l'écran (Petit scintillement), n'oublies pas le "Application.ScreenUpdating = False" au début de ta macro
et le rétablissement "Application.ScreenUpdating = True" en fin de macro.
Regarde ton fichier en pièce jointe et dis nous !
@ +++
ChrisOne