vérifier nombre dabs textbox

B

blafi

Guest
Bonjour à tous,

Voici mon problème si quelqu’un peut m’aider à le résoudre :

J’ai un userform dans lequel l’utilisateur doit rentrer un nombre dans un textbox (montant) et je contrôle si c’est bien un chiffre qui est rentré grâce à une procédure After_update et en utilisant un « If IsNumeric(montant.value)=true….»

Si un texte est rentré, tout va bien ça marche. Par contre si l’utilisateur entre un nombre décimal en utilisant le clavier numérique qui écrit, sous VB, un point comme séparateur décimal (par ex 123.45) la macro dit que ce n’est pas un nombre. Pourtant, au moment d’insérer cette valeur dans une cellule d’excel, la valeur est bien prise en compte comme un nombre avec une virgule décimale.

A l’inverse, si l’utilisateur entre le nombre en utilisant la virgule (123,45), la macro et VB acceptent l’entrée comme nombre, mais au moment de l’insérer dans la feuille excel, ce nombre est inséré comme texte….

Comment concilier les deux : entrer un nombre décimal avec le clavier numérique, le faire accepter comme nombre par VB et l’insérer comme nombre dans Excel ??

Merci à celui qui pourra m'aider et à bientôt
 
B

blafi

Guest
Merci à Thierry pour sa réponse qui m'a aidée à trouver une solution :

J'ai écrit une petite macro comme ci-dessous, la somme récupérée dans la textbox (Montant) y étant entrée avec le clavier numérique (ex 125.36) :

Montantmodif=Replace(Montant.Value,".",",")
If IsNumeric(Montantmodif)=False then
Msgbox "ceci n'est pas un nombre valable" vbOKonly
Montant.value=""
End If

cette macro est mise dans une sub textbox1_AfterUpdate et lea validité du montant entré est immédiatement vérifié sans changer ce montant au niveau du "." décimal, ce qui permet de rentrer valablement le nombre dans une cellule excel...

Au cas ou cette manip peut servir à quelqu'un...
 

Discussions similaires

Réponses
7
Affichages
2 K

Statistiques des forums

Discussions
312 095
Messages
2 085 250
Membres
102 836
dernier inscrit
Ali Belaachet