1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| Sub test4()
Dim CelCol As Range, C As Range
For Each CelCol In Sheets(1).Range("B2:B23") 'on scann la colonne deja
If CelCol.Value <> "" And CelCol.Value2 > 0 Then
'On coche les case qui doivent l'etre
'With Sheets(1).Range(Sheets(1).Cells(CelCol.Row, "C"), Sheets(1).Range("B1").End(xlToRight).Offset(CelCol.Row - 1, -((Sheets(1).Range("B1").End(xlToRight).Column - 2) - CInt(CelCol.Value2))))
If CelCol.Value2 > Sheets(1).Range("B1").End(xlToRight).Column - 2 Then
'La somme depasse le nombre de jours
'On met la case en couleur
CelCol.Interior.ColorIndex = 4
Else
'On remet la couleur neutre par defaut
CelCol.Interior.ColorIndex = xlNone
With Sheets(1).Range(Sheets(1).Cells(CelCol.Row, "C"), Sheets(1).Cells(CelCol.Row, 2 + CelCol.Value2))
.Borders(xlDiagonalDown).LineStyle = xlContinuous
.Borders(xlDiagonalDown).Weight = xlThin
.Borders(xlDiagonalUp).LineStyle = xlContinuous
.Borders(xlDiagonalUp).Weight = xlThin
End With
'On decoche celle qui doivent l'etre
With Sheets(1).Range(Sheets(1).Cells(CelCol.Row, 3 + CInt(CelCol.Value2)), Sheets(1).Range("B1").End(xlToRight).Offset(CelCol.Row - 1, 0))
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
End With
End If
End If
Next
End Sub |