IfNotNumeric dans Textbox - FJ ci-joint

alex53

XLDnaute Junior
Bonjour le forum,
Voila ce que je veux faire:
rentrer un nombre dans mon USF (avec un controle que la valeur est bien numerique et pas du texte), et que celui ci soit archive dans une feuille excel avec 5 chiffres apres la virgule.

Tout fonctionne bien (voir fichier tres simple ci-joint). Si je rentre simplement le chiffre 5 par exemple, alors j'obtiens 5,00000 dans la feuille excel.

MAIS, quand je veux mettre une virgule, ca ne marche plus!!
2 cas de figure:
-Si je tape un point "." , a cause du Ifnotnumeric je pense il me dit que ce n'est pas possible. Existe-il un moyen de filouter pour que VBA accepte le point ??
-Si je tape une virgule "," alors dans le USF ca marche, mais pas dans la feuille excel (par exemple si je tape 5,5 dans le textbox, je me retrouve avec 5.00000 dans la feuille excel) !!! VBA perd la tete!

Merci d'avance pour votre precieuse aide.

Alex53
 

Pièces jointes

  • aide IfnotNumeric.xlsm
    20.1 KB · Affichages: 72

mikeo

XLDnaute Occasionnel
Re : IfNotNumeric dans Textbox - FJ ci-joint

Bonjour à tous et en particulier à ceux qui ont participé à ce post (qui sont parmi les :) meilleurs du forum)

Alex, regarde ce code :

Code:
Private Sub txtEcritFeuille_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr("1234567890,-", Chr(KeyAscii)) = 0 Or txtEcritFeuille.SelStart > 0 And Chr(KeyAscii) = "-" _
Or InStr(txtEcritFeuille.Value, ",") <> 0 And Chr(KeyAscii) = ","  Then KeyAscii = 0: Beep
End If

qui est bien expliqué en détail ici :

Obliger saisie numrique dans TextBox

et qui répond à ta dernière question.

Bonne soirée
 

Discussions similaires