Sous la feuille échéancier
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("K:K")) Is Nothing Then
If Target.Value = "Valider" Then
recopier Target.Row, Range("A" & Target.Row).Value
End If
End If
End Sub
Dans un module :
Sub recopier(ligne As Double, feuille As String)
Range("B" & ligne & ":J" & ligne).Select
Selection.Copy
Sheets(feuille).Select
Range("B65000").End(xlUp).Offset(1, -1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
MsgBox "ligne " & ligne & " recopiée dans l'onglet " & feuille
Sheets("Echeancier").Select
End Sub
Il faut réduire la taille des tableaux (mettre le nombre de ligne juste nécessaire !)
en J5 de chaque onglet :
=SI([@[Type d''Opération]]="Report";0;SI(SOMME(H5:I5)=0;0;(J4+I5-H5)))
la formule se recopiera automatiquement sur la ligne ajoutée