Textbox via valeur numérique

Bonjour

J'ai fait un userform avec des textbox ou il y a des valeurs numérique, le problème est que je ne suis pas capable de mettre le format que je veux soit exemple 200.00 $ (je veux avoir le point car sur mon clavier C'est plus rapide ainsi) et de plus mon bouton de commande ne fonctionne pas. Je n'arrive pas à saisir la logique, alors quelqu'un peux m'aider svp

Merci

12ess.xlsm (89.01 Ko)

Bonjour,

La première question qu'il faut définir est : Quel est ton séparateur décimal dans les feuilles Excel ?

La virgule ou le point ?

Questions subsidiaires : Quel est l’intérêt d'entrer des nombres avec virgule puisque tes variables sont définies en Long ?

Quel bouton de commande ne fonctionne pas ?

A+

Bonjour

C'est la virgule

A+

Quel bouton de commande ne fonctionne pas ?

Pour moi il fonctionne correctement (si tu parles de CommandButton1)

Sous réserve parce que moi je n'ai pas la virgule donc à voir chez toi après la modif que je suggère ci dessous...

Par contre les TextBox renvoient comme leur nom l'indique une valeur "Text" si tu veux qu'Excel reçoive une valeur numérique il faut préciser l'argument Value à la fin de cette ligne :

If colonne > 0 Then Sheets("données").Cells(derligne, colonne) = ctrl.Value

A+

Après pour les $ c'est une question de format : Tu les veux ou dans ton Userform ou dans ta feuille ? Si c'est dans la feuille YAKA mettre le format adéquat une fois que ta feuille recevra des nombres formatés comme des nombres le format s'appliquera.

Pour l'instant il ne peut s'appliquer car ta feuille reçoit des caractères "Text" (alignés à gauche)

Bonjour

pour les chiffres a virgule Voir le KeyPress dans le UserForm

Private Sub TextBox5_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
   Call VirgulChiffre(KeyAscii, 5)
End Sub

Sub VirgulChiffre(KeyAscii, T As Long)
'TRANSFORMER LE POINT PAR UNE VIRGULE
 If KeyAscii = 46 Then KeyAscii = 44
'ACCEPTER UNIQUEMENT UNE SEULE VIRGULE ET LES CHIFFRES ENTRE 0 ET 9
 If InStr("1234567890,", Chr(KeyAscii)) = 0 Or (InStr(Controls("TextBox" & T).Value, ",") <> 0 And Chr(KeyAscii) = ",") _
    Or (Controls("TextBox" & T).SelStart = 0 And Chr(KeyAscii) = ",") Then KeyAscii = 0: Beep
End Sub

et a la creation

Cells(ligne, colonne) = cdbl(TextBox5.value)

A+

Maurice

Super merci beaucoup tout fonctionne très bien

Rechercher des sujets similaires à "textbox via valeur numerique"