Vba excel : Forcer écriture dans textbox

Résolu/Fermé
MT - 18 oct. 2011 à 12:53
debutantevba Messages postés 25 Date d'inscription mardi 12 mai 2015 Statut Membre Dernière intervention 6 juillet 2015 - 9 juin 2015 à 10:27
Bonjour,

débutante en vba je cherche à forcer l'écriture dans une de mes textbox.

Je souhaiterais imposer en premier la lettre "H" puis ensuite forcer une saisie uniquement numérique !

Merci d'avance pour votre aide !

MT
A voir également:

2 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
Modifié par pijaku le 18/10/2011 à 14:11
Bonjour,
Essayez voir ceci :
Private Sub TextBox1_GotFocus() 
If Len(TextBox1) = 0 Then TextBox1 = "H" 
End Sub 

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 
If InStr("1234567890", Chr(KeyAscii)) = 0 Then KeyAscii = 0 
End Sub

Cordialement,
Franck P
1
Tout d'abord merci pour votre réponse !

ensuite la saisie numérique marche très bien mais le code concernant le "H" du départ ne fonctionne pas ... = /

Merci pour votre précieuse aide !
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
18 oct. 2011 à 15:00
1- avez vous cliqué dans le textbox?
2- ce textbox est situé ou? feuille ou userform?
0
Ce textbox est situé dans un userform et ou j'ai bien cliqué dans celui-ci ... =/
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
18 oct. 2011 à 15:27
Alors, dans ta procédure USerForm_Initialize ajout cette ligne :
Private Sub UserForm_Initialize()
'du code bla bla
TextBox1 = "H"
'du code bla bla
End Sub

Et bien sur conserve la saisie uniquement numérique par :
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 
If InStr("1234567890", Chr(KeyAscii)) = 0 Then KeyAscii = 0 
End Sub
0
Ca fonctionne très bien !!!

Un grand merci !
bonne fin de journée !
0
debutantevba Messages postés 25 Date d'inscription mardi 12 mai 2015 Statut Membre Dernière intervention 6 juillet 2015
5 juin 2015 à 10:53
Bonjour,

Ce sujet tombe parfaitement !
Mais je voudrai ajouter une petite condition, alors je tente ma chance aussi.
Serait-il possible que le H apparaisse dans la TextBox à l'ouverture du formulaire ( en plus de la condition qu'il ne s'efface pas et que nous devons écrire uniquement des chiffres après ) ...

Merci !
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
5 juin 2015 à 11:54
Bonjour,

A l'ouverture du formulaire.
Donc, lors de l'événement Initialize de l'Userform...
Donc :
Private Sub UserForm_Initialize()
    TextBox1.Value = "H"
End Sub
0
debutantevba Messages postés 25 Date d'inscription mardi 12 mai 2015 Statut Membre Dernière intervention 6 juillet 2015 > pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024
9 juin 2015 à 10:27
Top ! =) Merci !
0