Public Function MaMoyenne(ParamArray zones()) As Double
Application.Volatile
Dim curCell As Range, nbVal As Integer, i As Integer
'MaMoyenne = 0: nbVal = 0
For i = LBound(zones) To UBound(zones)
For Each curCell In zones(i)
If IsNumeric(curCell.Value) And curCell.Value <> 0 Then
MaMoyenne = MaMoyenne + curCell.Value
nbVal = nbVal + 1
End If
Next curCell
Next i
If nbVal <> 0 Then MaMoyenne = MaMoyenne / nbVal
End Function