Nombre avec virgule dans VBA

Bonjour à tous

J'ai un code très simple qui me permet de rajouter dans une cellule, un prix (après la formule déjà existante dans la cellule). Le problème, c'est que le code marche très bien quand il s'agit d'un entier mais plante systématiquement à la moindre virgule. J'ai beau avoir déclaré la variable as currency, single, double, rien n'y fait...

J'ai aussi essayé d'attribuer le prix dans une cellule et travailler à partir de là, mais le problème réside.

Je vous ai mis ci joint le fichier Excel. J'ai juste renommé la colonne F en "PrixAction" car j'ai besoin de garder une formule dynamique (si je change le prix en F13, je veux que la formule recalcule la valeur de marché en H13.)

Voici mon code (également dispo dans le module 3 du fichier ci-joint). Encore une fois, avec un nombre entier tout marche parfaitement :

Sub abc()

Dim formule5 As Variant

Sheets("Sheet2").Activate

formule5 = Cells(13, 8 ).Formula

formule5 = Mid(formule5, 2, 10000)

qté = 15000

prix = 14.5

Cells(13, 8 ).Value = "=" & formule5 & "-" & qté & "*" & "(PrixAction" & "-" & prix & ")"

End Sub

Est-ce que quelqu'un aurait une solution ? Un grand merci à ceux qui pourraient m'éclairer sur ce problème

77prix.xlsm (15.69 Ko)

Bonjour,

au lieu de mettre

formule5 = Cells(13, 8 ).Formula

remplace le Formula par value

Bonjour,

Merci beaucoup pour votre réponse, mais en faisant ceci, la formule ne sera plus dynamique. C'est-à-dire que si je change manuellement le prix en F13, la valeur de marché ne sera pas du tout la bonne.

Résolu, je suis passé par un Replace(Prix, ",", ".") qui m'a permis d'éviter le conflit point/virgule sur VBA/Excel

merci quand même

Rechercher des sujets similaires à "nombre virgule vba"