Private Sub GradientVertical(ByVal CoulHau As Long, ByVal CoulMil As Long, ByVal CoulBas As Long)
Dim H As Double, R As Range
Set R = Selection
If R.MergeCells Then
H = 5 / R.Height: If H > 0.25 Then H = 0.25
Gradient 90, R.Interior, 0, CoulHau, H, CoulMil, 1 - H, CoulMil, 1, CoulBas
ElseIf R.Rows.Count > 1 Then
H = 5 / R.Rows(1).RowHeight: If H > 0.25 Then H = 0.25
Gradient 90, R.Rows(1).Interior, 0, CoulHau, H, CoulMil, 1, CoulMil
H = 5 / R.Rows(R.Rows.Count).RowHeight: If H > 0.25 Then H = 0.25
Gradient 90, R.Rows(R.Rows.Count).Interior, 0, CoulMil, 1 - H, CoulMil, 1, CoulBas
If R.Rows.Count > 2 Then R.Rows(2).Resize(R.Rows.Count - 2).Interior.Color = CoulMil
ElseIf R.Style <> "Normal" Then
H = 5 / R.RowHeight: If H > 0.25 Then H = 0.25
Gradient 90, R.Style.Interior, 0, CoulHau, H, CoulMil, 1 - H, CoulMil, 1, CoulBas
Else
H = 5 / R.RowHeight: If H > 0.25 Then H = 0.25
Gradient 90, R.Interior, 0, CoulHau, H, CoulMil, 1 - H, CoulMil, 1, CoulBas
End If
End Sub