separateur décimal

Le
goodcook
Bonjour
Sur excel2002 sous xp
J'utilise un userform pour rentrer des données numériques et textes dans une
feuille de calcul.
Cette application est utilisée sur plusieurs pc. Certains postes n'
acceptent que les chiffres décimaux avec la virgule du pavé numérique et
d'autres que la virgule coté lettres.
Merci à toute aide.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #4228311
Dans un module standard, copie cette fonction personnalisée :

'-------------------------------
Function CheckLaSaisie(Textbox As MSForms.Textbox, ByVal Char As Integer)

SepDec = Format(0, ".")

If Char = 44 Or Char = 46 Then
If InStr(1, Textbox, SepDec, vbTextCompare) > 0 Then
CheckLaSaisie = 0
Else
CheckLaSaisie = Asc(SepDec)
End If
Else
If Char < 48 Or Char > 58 Then
CheckLaSaisie = 0
Else
CheckLaSaisie = Char
End If
End If
End Function
'----------------------------

Et dans ton module formulaire, pour tous les textbox devant recevoir des données numériques :
'----------------------------
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

KeyAscii = CheckLaSaisie(TextBox1, KeyAscii)

End Sub
'----------------------------




"goodcook"
Bonjour
Sur excel2002 sous xp
J'utilise un userform pour rentrer des données numériques et textes dans une
feuille de calcul.
Cette application est utilisée sur plusieurs pc. Certains postes n'
acceptent que les chiffres décimaux avec la virgule du pavé numérique et
d'autres que la virgule coté lettres.
Merci à toute aide.
goodcook
Le #4226681

Dans un module standard, copie cette fonction personnalisée :

'-------------------------------
Function CheckLaSaisie(Textbox As MSForms.Textbox, ByVal Char As Integer)

SepDec = Format(0, ".")

If Char = 44 Or Char = 46 Then
If InStr(1, Textbox, SepDec, vbTextCompare) > 0 Then
CheckLaSaisie = 0
Else
CheckLaSaisie = Asc(SepDec)
End If
Else
If Char < 48 Or Char > 58 Then
CheckLaSaisie = 0
Else
CheckLaSaisie = Char
End If
End If
End Function
'----------------------------

Et dans ton module formulaire, pour tous les textbox devant recevoir des données numériques :
'----------------------------
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

KeyAscii = CheckLaSaisie(TextBox1, KeyAscii)

End Sub
'----------------------------




"goodcook"
Bonjour
Sur excel2002 sous xp
J'utilise un userform pour rentrer des données numériques et textes dans une
feuille de calcul.
Cette application est utilisée sur plusieurs pc. Certains postes n'
acceptent que les chiffres décimaux avec la virgule du pavé numérique et
d'autres que la virgule coté lettres.
Merci à toute aide.


Merci MichDenis pour votre solution
Impeccable, la saisie des nombres se fait aussi bien avec la virgule du pavé

numérique que celle des lettres. Maintenant il ne me reste plus qu'à essayer
de comprendre le code de cette procédure.
Bonne soirée

Publicité
Poster une réponse
Anonyme