Fonction VBA qui renvoie un nombre décimal

Salut à tous !

Je voudrais une Fonction qui transforme le montant suivant ex: ( 25 350,75 DA) à (25350,75) c'est à dire élimination des espace et le symbole de monnaie en gardant juste le montant avec le décimal

J'ai utilisé la Fonction Val mais le problème elle élimine le décimal ! Regardez l'exemple:

TextBox1 = 25 350,75 DA

Range("B2")=Val(TextBox1.value)

Résultat: B2 = 25350,00

Donc je voudrais une fonction qui fait exactement comme Val mais en plus elle garde le décimal 25350,75

Merci d'avance !

Bonsoir,

Tu as la fonction Replace pour supprimer les espaces :

Range("B2") = Replace(Textbox1.value, " ", "")

Et pour que ta fonction Val garde ce qu'il y a après la virgule, il faut que ce soit un point entre les chiffres, je te propose donc de faire :

Range("B2") = Replace(Textbox1.value, ",", ".")
Range("B2") = Replace(range("B2").value, " ", "")
Range("B2")=Val(range("B2").value)

et si tu veux remettre une virgule remet un Replace

Voilà j'espère t'avoir aidé

Bonsoir,

Val ignorant les espaces, tu peux faire l'économie de l'élimination des espaces...

Range("B2") = Val(Replace(TextBox1.Value, ",", "."))

NB-Je trouverais par contre judicieux de ne pas laisser Range tout nu, et de le qualifier en le rattachant à la feuille à laquelle la cellule appartient.

Cordialement.

Merci beaucoup ghorghorbey2 et MFerrand

ça fonctionne très bien

Parfait !

Rechercher des sujets similaires à "fonction vba qui renvoie nombre decimal"