Sub Somme()
Dim r As Range
Set r = Intersect([C:I], ActiveSheet.UsedRange)
If r Is Nothing Then Exit Sub
For Each r In r
If r = "" Then
r = "=S(" & r.EntireColumn.Address(, 0) & ")" 'formule
r.Interior.ColorIndex = 6 'fond jaune pour repérer
End If
Next
End Sub
Function S(colonne As Range)
Dim i&
For i = Application.Caller.Row + 1 To colonne.Count
If colonne(i) = "" Or colonne(i).HasFormula Or colonne(i, 3 - colonne.Column) = "Total" Then Exit Function
If IsNumeric(colonne(i)) Then S = S + CDbl(colonne(i))
Next
End Function