Calcul VBA

bonjour a tous

dans mon formulaire, j'ai un calcule suivant :

Private Sub Tv_Unite_AfterUpdate()

If Tv_Unite.Value = "" Then MsgBox "Veuillez introduire une valeur numérique": Exit Sub

TP_ht = TBPrix * Tv_Unite.Value

End Sub

probleme TBPrix (prix) cet textebox est alimenté automatiquement par une feuille de mon classeur, avant une mise a jour la feuille reference, le calule était sur une cellule monétaire (10,12€) maintenant je peut pas changer ma cellule standard en monétaire vu que jai un un point au lieu d'avoir une virgule (10.12)

quel solution

créer une macro pour changer la feuille pour avoir une virgile, si sa peut se faire

ou bien de changer ma fourmule de calcule

merci votre aide

capture capture 2

Bonjour,

Avec la fonction Replace tu peux changer un point en virgule, pour savoir quel est le séparateur décimal de ton pc, tu peux utiliser la variable decimalseparator, si tu as besoin de plus d'infos, n'hésite pas

bonjour et merci

j'ai décoche "utiliser les séparateurs système

mais toujours pareil tu peut développe

Re,

En fait il y a encore plus simple:

Private Sub Tv_Unite_AfterUpdate()
 If Tv_Unite.Value = "" Then MsgBox "Veuillez introduire une valeur numérique": Exit Sub
 TP_ht = cdbl(TBPrix) * Tv_Unite.Value
 End Sub

ça convertira tbprix en nombre ainsi tu pourras faire ton calcul, c'était bien ça le problème rassure moi?

C'est bien ça

mais toujours erreur

capture

avec cette formulaire sa marche

par contre je n'arrive plus intergre mon prix unitaire (TP_ht) dans mon tabelau excel

capture3 capture2

Re,

Quel est le message d'erreur affiché? et si tu essayes comme ceci?

Private Sub Tv_Unite_AfterUpdate()
 If Tv_Unite = "" Then MsgBox "Veuillez introduire une valeur numérique": Exit Sub
 TP_ht = cdbl(TBPrix) * cdbl(Tv_Unite)
End Sub

toujours en erreur

capture

Ah mince, VBA veut te dire que les variables ne peuvent pas être converties en nombre, quelles sont leurs valeurs au moment du plantage?

Rechercher des sujets similaires à "calcul vba"