Help pour trouver un bug

Résolu
CeNedra83 Messages postés 96 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 11 juillet 2006 - 29 juil. 2005 à 09:48
CeNedra83 Messages postés 96 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 11 juillet 2006 - 29 juil. 2005 à 14:10
je dispose d'une ihm avec beaucoup de text box, et je dois empecher dans certaines que des lettres y soient rentrées. je ne evux autoriser que des nombres à virgule ou non, positifs ou négatifs.


j'ai écrit ceci, cela marche très bien, sauf qu'on ne peut pas rentrer des signe - !


si on écrit le meme code dans l'évènement keypress d'une textbox, ça marche!


pouvez vous m'aider?


Public Sub Mask(ByRef frmFeuille As Object, ByRef KeyAscii As Integer)


'on active la routine de traitement d'erreur
On Error Resume Next
'l'erreur etant minime, on continue l'éxécution normalement


'déclaration des variables privées
Dim oControl As Object 'stocke le contrôle actif


'on récupère le contrôle actif
Set oControl = frmFeuille.ActiveControl


Select Case KeyAscii
Case 8:
Case 45: If InStr(oControl.Text, "-") > 0 Then KeyAscii = 0
If oControl.Text.SelStart <> 0 Then KeyAscii = 0
Case 46: If InStr(oControl.Text, ".") > 0 Then KeyAscii = 0
Case 48 To 57:
Case Else: KeyAscii = 0: Beep
End Select

End Sub

puis
Private Sub txt_dim_mire_camD_KeyPress(KeyAscii As Integer)


call mask(me, keyascii)
End Sub

3 réponses

aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
29 juil. 2005 à 12:09
salut,

le probléme vient de la ligne
If oControl.text.SelStart <> 0 Then KeyAscii = 0

en fait la methode selStart ne s'applique pas sur le texte de la texte box mais sur la textbox elle meme
remplace donc la ligne par

If oControl.SelStart <> 0 Then KeyAscii = 0
et ca devrait fonctionner je pense

(si cela marche directement sur
3
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
29 juil. 2005 à 12:49
je disais donc :)

si ca marche dans l'evenement keypress c'est surement du a une erreur de copier coller.

j'espere que ca repond a ta question
0
CeNedra83 Messages postés 96 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 11 juillet 2006
29 juil. 2005 à 14:10
merci mille fois ça marche, trop cool!!!!!!!
++
CeNedra
0
Rejoignez-nous