Décimale, textbox vers Excel

thierry.bayard

XLDnaute Junior
Bonjour,

Je galère avec le format d'un textbox dont je veux exporter la valeur vers Excel.
J'ai un premier morceau de code pour mettre en forme le textbox dans le userform après modification de l'utilisateur :
Code:
Private Sub Text_prix_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Text_prix.Text = Format(Replace(Text_prix.Text, ".", ","), "#,##0.00")
End Sub

J'en ai un second pour l'export vers Excel :

Code:
Range("A1") = Val(Format(Text_prix.Text, "0.00"))

Les décimales s'affichent correctement dans le userform.
Après le transfert, sur Excel, j'ai bien une valeur au format nombre avec 2 décimales mais qui sont systématiquement à 00. Exemple : dans le userform, je saisie 12.25 ; sur excel, j'obtiens 12.00

Pouvez-vous m'aider ?

Merci d'avance,

Thierry
 

Lolote83

XLDnaute Barbatruc
Re : Décimale, textbox vers Excel

Salut Thierry,
Il s'agit peut être du format de ton code

Remplacer Range("A1") = Val(Format(Text_prix.Text, "0.00"))

par Range("A1") = Val(Format(Text_prix.Text, "0,00"))

(virgule dans "0,00")

@+ Lolote83
 

Pierrot93

XLDnaute Barbatruc
Re : Décimale, textbox vers Excel

Bonjour,

essaie peut être ainsi :
Code:
Range("A1") = Format(Val(Text_prix.Text, "0.00"))
en supposant que le "remplace" virgule par point est bien fait dans le "textbox" auparavant..
bonne fin d'après midi
@+
 

thierry.bayard

XLDnaute Junior
Re : Décimale, textbox vers Excel

Merci pour toute vos réponses rapides. Je fais une petite synthèse :

Solution de Lolote83 : le changement de point en virgule ne fonctionne pas.

Solution de Pierrot : l'inversion des fonctions val et format : j'ai modifié les fermetures de parenthèse pour que Excel accepte. Malheureusement, la donnée arrive sous excel en format texte et sans les décimales.

Solution de mikeo : après modification des parenthèses, les décimales restent mais on passe en format texte et non plus en nombre... on s'approche, on s'approche.
 

mikeo

XLDnaute Occasionnel
Re : Décimale, textbox vers Excel

Re,

Pourquoi faut-il ajouter .text à textprix ? Tu récupères une valeur en texte.
Egalement vérifier que Dim textprix est à Double et non pas string
Sans fichier, on ne peut pas tester.
 

thierry.bayard

XLDnaute Junior
Re : Décimale, textbox vers Excel

La solution miracle de Lolote fonctionne, je vais dont simplement tricher en faisant + 1 - 1.
Pour le moment je n'ai pas trouvé mieux.

Pour ta proposition mikeo, je pense qu'il faudrait 2 étapes :
- déclarer une variable as double
- définir cette variable comme étant égale au text du textbox "text_prix

Je n'ai pas eu le temps de tester et dois partir en réunion. Je ragarde ça ce soir.

Merci encore à tous pour votre aide
 

Discussions similaires

Réponses
11
Affichages
3 K