Bonjour,
Une autre approche, avec un fonction perso.
La mise en forme renvoi une valeur texte et ne peut donc plus servir aux calculs.
A coller dans un module général.
Public Function EnDol(Cel As Range) As String
Dim e As String, D As Single
e = Fix(Cel.Value)
D = Round(Cel.Value - e, 2) * 100
EnDol = "$" & Replace(CStr(Format(e, "###,##0")), ".", ",") & "." & Format(D, "00")
End Function
Exemple d'appel de la fonction,
=EnDol(C5)
Éventuellement ont peu modifier la fonction pour que e nombre de décimale soit programmable
A+