Bonjour,
h2so4, je ne soustrais pas à chaque fois. En gros, soit je rentre ma valeur dans ma colonne C à chaque fois à la main. Par exemple, si j'ai fais 15 master chips (colonne C), je le note. Et quand je fais des chips (à partir de mes masters chips donc colonne D) imaginons 5, je rajoute 5 dans la colonne D. Du coup je rajoute un = et je soustrais les 5 pour que l'opération se fasse directement.
Mais sinon je rentre à chaque fois les nouvelles valeurs à la main. Dans mon exemple, si j'ai 15 (colonne C), et 0 (colonne D) alors je change mon 0 en 5 (colonne D) puis je change mon 15 en 10 (colonne C).
gmb, j'ai utilisé ta fonction VBA à l'inverse pour que cela fonctionne dans le sens dont j'ai besoin, comme ci-dessous.
Option Explicit
Dim v!, v0!, vd!
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D2:D" & Range("A" & Rows.Count).End(xlUp).Row)) Is Nothing Then
Application.EnableEvents = False
vd = Range("C" & Target.Row)
v0 = Target
Application.Undo
v = ActiveCell.Value
ActiveCell.Value = v0
Range("C" & Target.Row) = vd + v - v0
End If
Application.EnableEvents = True
End Sub
Sub Evenement()
Application.EnableEvents = True
End Sub
Merci beaucoup pour vos réponses et votre aide.