Bonjour,
Attention, Vide ne veut pas dire 0 !
Dans votre cas, avant de recopier les valeurs, il suffit de tester si chaque textbox est remplie, si l'une d'elles est vide, on force sa valeur à 0, exemple:
If txtnbncbruts.Value = "" Then txtnbncbruts.Value = 0
.ListColumns("NbNC Brutes").Range.Rows(W) = .ListColumns("NbNC Brutes").Range.Rows(W) + txtnbncbruts.Value
Cdlt