bonjour
tu n'étais pas obligé de passer par une zone texte, tu pouvais utiliser la commande validation du menu données pour faire cela directement dans une cellule
exemples qui peuvent servir dans ton cas :
Utiliser le point du pavé numérique, mais le transformer en virgule : utiliser l'évènement KEYPRESS, qui admet le paramètre entier ASCII.
cela donne ceci (pour une zone texte appelée ZoneTexte dans l'exemple) :
Private Sub ZoneTexte_KeyPress(KeyAscii As Integer)
if KeyAscii = 46 then ' si je lis une virgule
KeyAscii = 44 ' je change le code pour que ce soit un point
end if
end Sub
Astuce d'Eplucheur pour connaître le séparateur : (Objet: Re: Type de données dans un userform Date : mardi 25 juillet 2000 23:54)
MsgBox IsNumeric("5.5") retourne vrai si le séparateur est un point, faux sinon.
If Not IsNumeric("5.5") Then Virgule = True
Afficher un message pour indiquer que seul du numérique doit être saisi
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii >= 97 And KeyAscii <= 122 Then
MsgBox ("Ne saisissez pas du texte!")
End If
End Sub
infos venant de <http://xlbysteph.free.fr/aideinformatique/userform.htm>