Private Sub Worksheet_Change(ByVal Target As Range)
Dim dl As Long, Ligne As Long
dl = Range("Tableau1").ListObject.ListRows.Count
Ligne = IIf(dl = 1, 5, Range("a" & Rows.Count).End(xlUp).Row)
'Stop
If Not Intersect(Target, Union(Range("B5:B1000"), Range("C5:C1000"))) Is Nothing Then
' On Error Resume Next
Application.EnableEvents = False
If IsNumeric(Target) = True Then
If Target.Column = 2 And Ligne = 5 Then
Target.Offset(, 1) = ""
Target.Offset(, 2) = Target
ElseIf Target.Column = 2 Then
Target.Offset(, 2) = Target.Offset(-1, 2) + Target
ElseIf Target.Column = 3 And Target.Row <> 5 Then
If Target < 0 Then Target = Target * -1
Target.Offset(0, 1) = Target.Offset(-1, 1) - Target
ElseIf Target.Column = 3 And Target.Row = 5 Then
If IsNumeric(Target) = True Then Target = ""
MsgBox "Seul un crédit est autorisé sur la première ligne!", vbCritical, "SOLDE DE DEPART"
Target.Offset(, -1).Select
End If
End If
End If
Application.EnableEvents = True
End Sub