La saisie à partir du pavé numérique ne convertit pas 1.2 en 1,20 € dans la cellule ?
eh ben, non ! La saisie de 1.2 à partir du pavé numérique dans une TextBox se traduit par un texte.
Pour éviter les ennuis, il faut se souvenir qu'une TextBox contient toujours un texte, même si ce texte est affiché comme un nombre.
Pour transférer une valeur numérique d'une TextBox vers une cellule, il faut permettre à Excel d'interpréter le texte comme un nombre et convertir ce texte au format désiré.
Pour comprendre ce qui suit, il faut que tu supprimes le lien de la propriété ControlSource et que tu places le code indiqué dans le module de l'Userform.
La procédure permet de transférer la valeur de la TextBox dans la cellule A1.
Avec le clavier numérique, en utilisant le point comme séparateur décimal, tu peux :
1) utiliser la fonction Val.
Exemple :
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Range("A1") = Val(TextBox1.Value)
End Sub
2) utiliser la fonction de conversion Cdbl.
Les fonctions de conversion requièrent que le séparateur décimal saisi dans la textbox soit le même que celui défini dans le panneau de configuration. Il faut donc adapter le code au besoin.
Exemple :
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Range("A1") = CDbl(Replace(TextBox1, ".", ","))
End Sub
A+