Public Function ForceMaj(KeyAscii As Integer) If KeyAscii > 96 And KeyAscii < 123 Then KeyAscii = KeyAscii - 32 End If ForceMaj = KeyAscii End Function ' utiliser dans l'evenement KeyPress de la TextBox comme suit: Private Sub TxtBox_KeyPress(KeyAscii As Integer) KeyAscii = ForceMaj(KeyAscii) End Sub
Hello,Tu peux également éviter l'appel d'une fonction en mettant directement dans l'événement Keypress le code suivant :[keyascii = Asc(Ucase(Chr(KeyAscii)))]Pour expliquer à ceux qui ne connaissent pas les petites fonctions utilisées :Chr : retourne le caractère associé à un code AsciiUcase : transforme une chaîne de caractères en majusculeAsc : retourne le code Ascii d'un caractère@+Gvb
eh ben j'aurais appris qqch aujourd'hui !
Hum..Oui, en effet!A part l'aspect didactique concernant les valeurs ASCII des lettres,je pense que ta solution est en tous points meilleure.Bah..on apprend tous les jours ;-)
Pas d'accord avec GvbUne simple manipulation d'entiers est bien préferable a l'utilisation empilée de TROIS fonctions...... coté optimisation, c'est pas top !!La fonction ForceMaj n'est pas du meilleur gou non plus.... j'ajouterais même que sous cette forme, elle est inutile :KeyAscii est passé par réference, ta fonction ne ourrait don être qu'une procédure !! :Et Ca fonctionne Tout Autant !!*************************Public Sub ForceMaj(KeyAscii As Integer)If KeyAscii > 96 And KeyAscii < 123 Then KeyAscii = KeyAscii - 32End IfEnd FunctionPrivate Sub TxtBox_KeyPress(KeyAscii As Integer) ForceMaj KeyAsciiEnd Sub*************************tu peux aussi faire ca pour tous tes TextBoxes d'un seul cou ppPrivate sub Form_Load Me.KeyPreview = Trueend subPublic Sub Form_KeyPress(KeyAscii As Integer) If KeyAscii > 96 And KeyAscii < 123 Then KeyAscii = KeyAscii - 32End Sub
je suis d'accord que la 1ere methode soit pas la meilleur, mais la tienne (renfield) ne gere pas les accents, Ucase lui les gere.donc un petit Ucase sur tout le texte (et pas char par char, en couplant asc et chr) , dans l'evenement textchange ou keypress, sera tout aussi efficace. (et vu que c'est de la saisie par l'user, je ne pense pas que les texte fassent + de qq Ko, ce qui niveau performance ne changera pas trop.)c'est moins rapide, mais plus simple. et ça gere touts les accents ^^'pour gvb...marrant ton nick..... :p
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 598 426 membres 435 nouveaux aujourd'hui 15 438 membres club