[Résolu] Classe de TextBox et évènement "After_Update"

Jenovae

XLDnaute Nouveau
Bonjour le forum,

Dans un userform sont créées "dynamiquement" (selon différents paramètres), des TextBox.
Ces TextBox appartiennent à une classe "cTxtPC" définie de la façon suivante :
Code:
Option Explicit

Public WithEvents Txt As MSForms.TextBox

Private Sub Txt_Change()
    MsgBox "Textbox " & Txt.Name & " modifiée"
End Sub

Lors de leur création, elles sont aussi "insérées" dans une collection nommée "CollecTxtPC".

Mon soucis est le suivant :
Lorsque dans ma classe je déclare la procédure
Code:
Private Sub Txt_Change()
etc ......
alors celle-ci est bien déclenchée lors de la modification des TexBox de mon UserForm. En l'occurence ici la MsgBox s'affiche bien à chaque fois.

Mais dans ma TextBox, j'entre des nombres et de ce fait la procédure se lance à chaque chiffre tapé...

J'aurais aimé déclarer la procédure suivante dans ma classe :
Code:
Private Sub Txt_AfterUpdate()
etc.......
Mais dans ce cas rien n'est lancé lors de la modification de ma TextBox.

Quelqu'un est-il en mesure de m'éclairer sur le sujet?
Je vous en remercie d'avance!
 
Dernière édition:

laetitia90

XLDnaute Barbatruc
Re : Classe de TextBox et évènement "After_Update"

bonjour Jenovae
dans une class pas l'evenement AfterUpdate & surtout enter
dans certains cas on peut contourner le pb.. en utilisant des keycodes

Code:
Private Sub txt_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Or KeyCode = 40 Or KeyCode = 38 Then MsgBox "aa"
End Sub
ou
Code:
Private Sub txt_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyCode = 13 Or KeyCode = 40 Or KeyCode = 38 Then MsgBox "aa"
End Sub

key code 13 correspond a la touche enter 38 & 40 touche de directions
keycode 9 correspond a tab
on peut aller plus loin en utilisant getfocus mais plus complexe a mettre en place
sans plus d'infos
 

Discussions similaires

Statistiques des forums

Discussions
312 581
Messages
2 089 910
Membres
104 303
dernier inscrit
Patdec