PRE-FORMATE UN TEXTBOX AVEC UN TEXTE DÉTERMINÉ POUR ENTRER UNE VALEUR À LA SUITE

Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
- 24 nov. 2003 à 09:45
cs_rv84
Messages postés
6
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
25 novembre 2003
- 25 nov. 2003 à 22:04
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/18172-pre-formate-un-textbox-avec-un-texte-determine-pour-entrer-une-valeur-a-la-suite-de-ce-texte

cs_rv84
Messages postés
6
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
25 novembre 2003

25 nov. 2003 à 22:04
Ah ben oui, ca marche impec. Merci.
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
24 nov. 2003 à 23:21
il te suffirait de :

Private Sub Text1_Click()
If Text1.SelStart < 8 Then Text1.SelStart = 8
End Sub
cs_rv84
Messages postés
6
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
25 novembre 2003

24 nov. 2003 à 18:54
ah ben oui hein! j'ai dit que j'étais débutant novice. Merci infiniment. Ceci dit, j'ai encore besoin d'explication : comment faire pour que, si je clique dans le textbox, le curseur ne puisse se retrouver au milieu du mot, mais toujours à la fin plus l'espace ? Sinon, le got focus, c'est une chouette idée. Merci.
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
24 nov. 2003 à 09:45
Pas mal....

Pour faire EXACTEMENT la même chose, on aurait pu écrire :

Private Sub Text1_GotFocus()
If Not Text1.Text Like "Période *" Then Text1.Text = "Période "
If Text1.SelStart < 8 Then Text1.SelStart = 8
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 8 Then
If Text1.SelStart <8 Then KeyAscii 0
ElseIf KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
KeyAscii = 0
End If
End Sub

'****************************************************

bien sur, il manque encore certaines choses, comme verifier le "Format" de ce que l'on affecte par le code : si je fais Text1.text = "coucou" , ca ne respecte pas le "masque" que tu as definis.

d'autre part, tu ne bloques le presse papiers.... tu autorise le Retour Chariot (8) mais tu bloque le Copier (3) et le couper (23) et le coller(22)

j'ai fait une modification dans ton code, car il etait assez deplaisant de perdre ce que l'on tape, chaque fois que l'on clique dans le textbox...