Je mets ici mon code VBA (celui du fichier de mon message de 18:50 ; y'a aucun changement) :
Option Explicit
Function Multiplie(cell As Range)
Dim Tbl, Résultat!, i As Byte
Tbl = Split(cell, Chr$(10)): Résultat = 1
For i = 0 To UBound(Tbl)
Résultat = Résultat * Val(Replace$(Tbl(i), ",", "."))
Next i
Multiplie = Résultat
End Function
Function MoyNbs(cell As Range)
Dim Tbl, Total!, n As Byte, i As Byte
Tbl = Split(cell, Chr$(10)): n = UBound(Tbl): Total = 0
For i = 0 To n
Total = Total + Evaluate("=" & Replace$(Tbl(i), ",", "."))
Next i
MoyNbs = Total / (n + 1)
End Function
dans ce code VBA, y'a une seule division, à la fin de la 2ème fonction : MoyNbs = Total / (n + 1)
dans le code VBA de Jean-Eric aussi, c'est pareil : fnAverageValuesInCell = m / (n + 1)
note bien que dans les 2 cas, même si n vaut 0, on divise par (n + 1), donc par (0 + 1), donc par 1 :
y'a donc pas de division par zéro, alors j'comprends pas pourquoi tu as ce message !
là, je bloque ! j'peux pas t'aider davantage, alors j'te laisse voir la suite avec Jean-Eric :
il aura peut-être une idée ? bonne chance pour la suite, et bonne soirée !
À tout hasard, essaye de nouveau mon code VBA, mais en remplaçant les deux Chr$(10) par : Chr$(13)
(j'crois qu'c'est le code de retour ligne sur Macintosh = le ret du code VBA de Jean-Eric)
dhany