Bonsoir,
une correction
Function test(échantillon, opérateur, valeur)
test = Evaluate(replace(échantillon & opérateur & valeur,",","."))
End Function
un commentaire par rapport à l'instruction
application.volatile
Marks a user-defined function as volatile. A volatile function must be recalculated whenever calculation occurs in any cells on the worksheet. A nonvolatile function is recalculated only when the input variables change. This method has no effect if it's not inside a user-defined function used to calculate a worksheet cell.
sur base de cette info, mettre l'instruction application.volatile n'est pas utile pour ce cas-ci. Elle provoquerait le recalcul de la fonction alors que ce n'est pas nécessaire.
application.volatile est utile lorsqu'Excel ne peut déterminer avant l'exécution de la fonction les cellules qui sont utilisées pour calculer le résultat d'une fonction,
exemple :
Function test(n)
'fait la somme des n cellules précédentes sur la même ligne
l = Application.Caller.Row
c = Application.Caller.Column
For j = c - 1 To c - n Step -1
If j < 1 Then Exit For
s = s + Cells(l, j)
Next j
test = s
End Function