j ai lu pas mal de chose sur le sujet et je n'est pas bien compris quelle était la meilleur méthode pour verifier que la saisie d'un textbox est un nombre positif ou négatif(isnumeric,keyascii etc...).
j'ai programmé ma source sans avoir lu au préalable les infos dispo sur le site .
j'ai donc utilisé la méthode suivante :
1.j'affecte la saisie du textbox a une variable single :
2.si une erreur 13 se produit c que la saisie du textbox n'est pas un nombre
3. s'il y a erreur, je force le textbox a la valeur précédente ou a 0 ou .....
exemple:
dim var as single
on error goto gestion_erreur
var=textbox.text
exit sub
gestion_erreur :
if err.number=13 then
textbox.text=0
end if
je n'ai pas vu ce type de méthode!! est-ce mal de faire cela?
merci du retour
A voir également:
Vba textbox chiffre uniquement
Obliger saisie numérique dans textbox vba - Meilleures réponses
En prenant soint de prendre en compte le caractère de séparation des décimales et unités (attention ce n'est pas forcément le '.'), et faisant attention à ne le faire appararaître qu'une fois :)
Ah oui, je l'avais zappé ça tiens :)
Me suis servi de la fonction en dessus pour des entiers, j'avais complètement oublié qu'on pouvait aussi s'en servir pour des nombres non entiers ^^
Et en faisant attention aussi d'autoriser le symbole des nombres négatifs (le - généralement) car le but étant quand même de saisir des nombres négatifs.
Private Sub TextNumero_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case Asc("0") To Asc("9"), 8 'Le 8 c'est pour effacer 'On fait rien de spécial ici
Case Else
KeyAscii = 0 'On "annule" l'action
End Select
End Sub