Bonjour à tous,
dans un userform permettant de réunir des renseignements propres à des associations (nom, adresse, commune,...), j'ai notamment à renseigner une textbox devant contenir le n°Siret de l'association. Ce textbox est géré par différentes procédures événementielles, dont, entre autres un événement Keypress permettant de n'autoriser la saisie que de nombres (cette partie étant gérée par une fonction "Nombre") dont voici le code :
Cette macro fonctionne correctement mais actuellement, lorsque je fais une erreur de saisie en rentrant une lettre à la place d'un nombre et que le message "Caractère interdit !" apparait et que je ferme cette boîte de dialogue, je suis obligé de re cliquer dans la textbox pour continuer à rentrer ma suite de nombres.
Or, lorsque je ferme la boîte de dialogue, je voudrais qu'un curseur apparaisse et soit placé à la suite des nombres déjà rentrés.
J'ai placé un rem devant les essais déjà tentés (Siret.SelStart et Siret.SelLength).
Merci de me faire part de vos idées et solutions éventuelles.
A+
dans un userform permettant de réunir des renseignements propres à des associations (nom, adresse, commune,...), j'ai notamment à renseigner une textbox devant contenir le n°Siret de l'association. Ce textbox est géré par différentes procédures événementielles, dont, entre autres un événement Keypress permettant de n'autoriser la saisie que de nombres (cette partie étant gérée par une fonction "Nombre") dont voici le code :
Code:
Private Sub Siret_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Nombre(KeyAscii.Value) <> "" Then
KeyAscii = Asc(Nombre(KeyAscii.Value))
Else
KeyAscii = 0
MsgBox "Caractère interdit !", vbCritical
Cancel = True
'Siret.SelStart = 0 'positionne le curseur au début du textbox
'Siret.SelLength = Len(Siret) 'sélectionne le texte déjà entré
End If
End Sub
Cette macro fonctionne correctement mais actuellement, lorsque je fais une erreur de saisie en rentrant une lettre à la place d'un nombre et que le message "Caractère interdit !" apparait et que je ferme cette boîte de dialogue, je suis obligé de re cliquer dans la textbox pour continuer à rentrer ma suite de nombres.
Or, lorsque je ferme la boîte de dialogue, je voudrais qu'un curseur apparaisse et soit placé à la suite des nombres déjà rentrés.
J'ai placé un rem devant les essais déjà tentés (Siret.SelStart et Siret.SelLength).
Merci de me faire part de vos idées et solutions éventuelles.
A+