Help pour trouver un bug

Résolu
Signaler
Messages postés
96
Date d'inscription
lundi 20 novembre 2000
Statut
Membre
Dernière intervention
11 juillet 2006
-
Messages postés
96
Date d'inscription
lundi 20 novembre 2000
Statut
Membre
Dernière intervention
11 juillet 2006
-
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

Messages postés
698
Date d'inscription
jeudi 16 janvier 2003
Statut
Membre
Dernière intervention
20 mai 2011
2
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
698
Date d'inscription
jeudi 16 janvier 2003
Statut
Membre
Dernière intervention
20 mai 2011
2
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
Messages postés
96
Date d'inscription
lundi 20 novembre 2000
Statut
Membre
Dernière intervention
11 juillet 2006

merci mille fois ça marche, trop cool!!!!!!!
++
CeNedra