Bonjour,
Dans mon fichier, j'ai une macro dans mon "code de la feuille" qui permet de colorer une ligne suivant la date inscrite dans la première cellule. Deux couleurs alternées suivant un mois par ou impair.
Premier problème :
Quand j'insère une ligne avec une macro (activée à partir d'un bouton), la ligne insérée est de suite colorée par défaut, j'aimerais quelle soit sans remplissage.
Second problème :
Quand j'efface les données de la ligne, la couleur est conservée, ce qui m’entêtent un peu du coup.
Voici les codes liés à cette fonction :
Code de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim oRange As Excel.Range
If Target.Column = 2 And IsDate(Target.Value) Then
Set oRange = ActiveSheet.Range(ActiveSheet.Cells(Target.Row, Target.Column), ActiveSheet.Cells(Target.Row, 8))
ColorLigne oRange
End If
End Sub
La macro liée :
Sub ColorLigne(zRange As Excel.Range)
Dim lColor1 As Long, lColor2 As Long
Dim oCell As Excel.Range
'Initialisation des 2 couleurs
lColor1 = RGB(217, 225, 242)
lColor2 = RGB(255, 242, 204)
Set oCell = zRange.Cells(1, 1)
If IsDate(oCell.Value) Then
'si mois pair alors couleur1
If Month(oCell.Value) Mod 2 = 0 Then
zRange.Interior.Color = lColor1
'si mois impair alors couleur2
Else
zRange.Interior.Color = lColor2
End If
End If
'On fait le ménage
Set oCell = Nothing
End Sub