[Déplacé .Net --> VBA] Format d'une Label

Galle74 Messages postés 9 Date d'inscription mercredi 30 décembre 2009 Statut Membre Dernière intervention 19 janvier 2010 - 18 janv. 2010 à 10:47
Galle74 Messages postés 9 Date d'inscription mercredi 30 décembre 2009 Statut Membre Dernière intervention 19 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

9 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
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)
0
Galle74 Messages postés 9 Date d'inscription mercredi 30 décembre 2009 Statut Membre Dernière intervention 19 janvier 2010
18 janv. 2010 à 13:08
Un truc du genre
ActiveCell.Offset(0, 1).Value = Me.Label5
0
Galle74 Messages postés 9 Date d'inscription mercredi 30 décembre 2009 Statut Membre Dernière intervention 19 janvier 2010
18 janv. 2010 à 13:38
j'ai essayer un truc comme ca
ActiveCell.Offset(0, 1).Value = Val(Me.Label5)
La il me donne bien une valeur mais sans virgule.
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
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)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Galle74 Messages postés 9 Date d'inscription mercredi 30 décembre 2009 Statut Membre Dernière intervention 19 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
0
Galle74 Messages postés 9 Date d'inscription mercredi 30 décembre 2009 Statut Membre Dernière intervention 19 janvier 2010
18 janv. 2010 à 16:54
Ach ya merde
Scuse ca marche ton truc mais comment tu limite a trois ou quatre apres la virgule??
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
18 janv. 2010 à 20:11
Formattage de la cellule --> Menu "Format" + "Cellule" + onglet "Nombre" + Choix "Nombre" + "Nombre de décimales" = 3 + "Ok"
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
18 janv. 2010 à 20:12
Ou, si tun'es qu'au niveau du Label, fonction Format, genre
Label15 = Format(Val(TextBox4) * Val(TextBox5), "0,000")
virgule ou point : à essayer
0
Galle74 Messages postés 9 Date d'inscription mercredi 30 décembre 2009 Statut Membre Dernière intervention 19 janvier 2010
18 janv. 2010 à 20:22
Génial tu es tout bon
Encore un grand merci
0
Rejoignez-nous