Galle74
Messages postés9Date d'inscriptionmercredi 30 décembre 2009StatutMembreDernière intervention19 janvier 2010
-
18 janv. 2010 à 10:47
Galle74
Messages postés9Date d'inscriptionmercredi 30 décembre 2009StatutMembreDernière intervention19 janvier 2010
-
18 janv. 2010 à 20:22
Bonjour,
Voila j'ai fais une petite userform avec deux textbox
La première prix unitaire
La deuxieme quantité
Je fais afficher dans une label le résultat "Total" sur la userform
Ça marche impect avec les virgules et tout et tout
Le problème c'est quand je récupère dans un cellule excel ce me tranche la virgule. je pense que ca me le récupère en texte.
J'aimerai savoir si par exemple on peux récupérer la valeur a 4 chiffre apres la virgule de ma label.
Merci
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 18 janv. 2010 à 11:33
Salut
"Le problème c'est quand je récupère dans un cellule excel" Comment fais-tu la liaison entre VB.Net et Excel ? par quel intermédiaire ?
C'est surement une histoire de virgule ou de point comme séparateur décimal.
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 18 janv. 2010 à 16:24
Ah, tu n'es pas sous VB.Net comme le laisse présager la catégorie de ta question.
Bravo, tu viens de perdre 3h pour rien !
Mon petit doigt m'a dit que tu es à Stuttgart. Dans quelle langue est ton Windows ?
Car les réglages de notation des décimales peut changer.
Perso, je viens de faire l'essai sur un OS français :
Si je saisis 123.45 (point), j'obtiens 123,45 (virgule) dans la value de la cellule.
Si je saisis 123,45 (virgule), j'obtiens 123,45 (virgule) dans la value de la cellule.
Mais si je saisis 123,4567 (virgule), j'obtiens 1 234 567 dans la value de la cellule.
Le séparateur utilisé dans les programmes (pour les calculs) est toujours le point et, en français, le séparateur décimal des cellules est la virgule.
Donc, il faut lui fournir le chiffre avec un point et elle renverra un chiffre avec une virgule.
Il suffit donc de remplacer la virgule par un point :
Sheets("Feuil1").Range("A1").Value = Val(Replace(Me.Label15.Caption, ",", "."))
Voir dans l'aide (et faire l'essai) avec Value2
Question subsidiaire : Quand tu dis qu'il te tronque les décimales, tu observes ça sur la cellule ou bien as-tu vérifié la valeur dans la barre de formule après avoir sélectionné la cellule ?
Parce que le chiffre est peut-être correct mais affiche sous forme entière --> Voir le format de la cellule.
Vala
Jack, =fr MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Galle74
Messages postés9Date d'inscriptionmercredi 30 décembre 2009StatutMembreDernière intervention19 janvier 2010 18 janv. 2010 à 16:49
cool
merci de ta réponse
Ca marche pas je suis vraiment trop nul mais bon je ne suis pas vaincu
Bien vu le coup de Stuttgart mais j'ai bien mon ordi en français (le bon, le vrai, avec du pain et du vin)
En fait je te dis il tronque c'est quand je rentre les valeurs dans ma userform avec ma formule je lui fais afficher le résultat dans une textbox en temps reel.
avec ca
Private Sub TextBox5_Change()
Label15 = Val(TextBox4) * Val(TextBox5)
End Sub
Donc j'ai bien ce que je veux dans ma textbox avec la virgule)exemple je rentre en 12.369 en quantité 3 j'obtiens 37,107 dans la text box et quand je recupere sous excel 37
si je rentre 12,369 en quantité 3 j'obtiens 36
super non j'y comprends rien de rien