Function MaSomme#(coltest%, colresu%, test$)
Application.Volatile
Dim nf$, w As Worksheet, r As Range, e As Boolean
nf = Application.Caller.Parent.Name
On Error Resume Next 'si e n'est pas booléenne
For Each w In Worksheets
If w.Name <> nf Then
For Each r In w.UsedRange.Rows
e = False
e = Evaluate(r.Cells(coltest).Value2 & test)
If e Then MaSomme = MaSomme + CDbl(r.Cells(colresu))
Next r
End If
Next w
End Function