Format nombre textbox USERFORM

Signaler
Messages postés
12
Date d'inscription
vendredi 27 juillet 2001
Statut
Membre
Dernière intervention
12 juillet 2012
-
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
-
Bonjour,

J'ai créer un userform sous excel qui une fois validé complete un tableau excel.
Ce userform a des textbox qui contiennent des montants à virgule, j'ai donc trouvé un moyen de formater la textbox texte en nombre, suaf que lors de l'incrémentation dans excel, les chiffres après la virgule disparsaissent.

Si quelqu'un à une idée parce que la newbie est pas loin de craquer. Voici un extrait :

ActiveCell.Value = H_INSCRIPTION
With ActiveCell
.NumberFormat = "0.00"
.Value = Val(H_INSCRIPTION.Text)
End With

Je précise que j'ai essayé avec ou sans dièse sans résultat

Merci beaucoup à ce qui pourront m'aider

KZ

6 réponses

Messages postés
14769
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
13 février 2021
151
Bonjour,

Que mets-tu dans :
H_INSCRIPTION.Text

Car il se peut que ce soir un pb de séparateur décimal, regardes les valeurs en, pas à pas.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Messages postés
12
Date d'inscription
vendredi 27 juillet 2001
Statut
Membre
Dernière intervention
12 juillet 2012

Merci de répondre. En fait je renseigne par exemple 1225,10 et 1225,00 est enregistré dans la feuille excel.
Messages postés
12
Date d'inscription
vendredi 27 juillet 2001
Statut
Membre
Dernière intervention
12 juillet 2012

Je viens de refaire un test il faut en fait renseigner les chiffres avec un séparateur en . et non en virgule. Merci de m'avoir mise sur la piste.

On peut corriger ca ?
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
Bonsoir,

Il faut convertir en double.
With ActiveCell 
.NumberFormat = "0.00" 
.Value = CDbl(H_INSCRIPTION.Text) 
End With 


[] Ce qui va sans dire. va mieux en le disant.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
Bonjour,
VBA/Excel est en fait à la fois plus simple/tolérant et plus ésotérique/illogique que cela
Il suffit d'utiliser la propriété Value de la textbox (que le séparateur décimal soit une virgule ou un point), pour que "tout se passe bien" (à mon grand dam !)
Ainsi donc :
 Range("A1").NumberFormat = "0.00"
 Range("A1").Value = TextBox1.Value

marchera que l'on frappe (par exemple) 1.23 ou 1,23

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
En fait, à l'origine, son problème était dans l' utilisatiion de la fonction Val.Qui ne retient que la partie entière.

Ceci dit , puisque le contenu de la TextBox n' est pas impliqué dans un calcul préalable, l' envoie du texte brute est, comme tu dis Jacques, tout juste simple.

[] Ce qui va sans dire. va mieux en le disant.