Format du contenu de textbox

Tungstene

XLDnaute Occasionnel
Bonjour,

J'ai une usf qui contient 3 textbox.
Je rentre dans celles-ci les infos suivantes :

Textbox1 : un gain ex : 0.328 €
Textbox2 : un pourcentage ex : 50 %
Textbox3 : le calcul textbox 1 * textbox2 ici : 0.164 € (=0.328 * 50 %)

Ce que je souhaite savoir c'est comment forcer les formats des textbox afin que l'utilisateur ne puisse pas entrer autre chose que des nombres aux formats des 3 exemples des 3 textbox ci dessus? Et donc ou les placer car jusqu'à maintenant j'ai pas résussi.

Merci.
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Tungstene, le Forum

Sans te faire le code à la carte pour tes besoins car je dois filer, je te propose de lire ce fil de discussion :

Lien supprimé

Où tu trouveras cette démo :

Lien supprimé

Tu devrais y trouver tous les éléments pour en même temps avoir des formats persos tout en conservant une valeur numérique à tes TextBox.

Bonne Journée (T.G.I.F.)
@+Thierry
 

Tungstene

XLDnaute Occasionnel
Merci pour les infos.

En revanche pour les %.
Le format défini multiplie par 100 ce que je rentre dans ma textbox.
Autrement dit pour afficher 50% je dois rentrer 0.5 qui x100 = 50%.

Etant donnée que j'aurai que des % sans chiffres après la virgule, n'est il pas possible d'avoir quelque choses qui me transformae le chifre que je mets en % sans multiplier par 100.

Soit si je rentre 50 cela doit m'afficher 50%
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir Tungstene, le Forum

Comment définis-tu le format pourcentage dans cette TextBox ?

En fait ce n'est pas important si tu captes bien la valeur de cette textBox dans une variable. (Exactement comme dans ma démo)

Ensuite il te suffira de faire faire l'opération par VBA... Voici un exemple sur InputBox car je n'ai pas le temps de faire un UserForm... Mais le traitement serait le même...

Option Explicit

Sub TestPourcent()
Dim SangtPourSangt As Double
Dim TheValue As Double

SangtPourSangt = Application.InputBox('Saisir une Valeur', Type:=1)

TheValue = Application.InputBox('Saisir une Valeur', Format(SangtPourSangt / 100, '0%'), Type:=1)

MsgBox TheValue * SangtPourSangt / 100, Title:=Format(SangtPourSangt / 100, '0%')


End Sub

Bonne Soirée
[ol]@+Thierry[/ol]
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 854
Membres
103 975
dernier inscrit
denry