Allegement code

Résolu
jraynald Messages postés 45 Date d'inscription lundi 1 mai 2000 Statut Membre Dernière intervention 25 février 2012 - 23 mai 2008 à 19:00
jraynald Messages postés 45 Date d'inscription lundi 1 mai 2000 Statut Membre Dernière intervention 25 février 2012 - 24 mai 2008 à 09:44
Bonjour,
j'ai une dizaine de textbox dont il faut entrée que des chiffres et virgule a la place du point, j'utilise ce code

Private Sub text1_keypress(keyascii As Integer)
Select Case keyascii
Case 46     '# Si on saisi un point, on met une virgule.
            If 0 = InStr(1, Text4.Text, ",") Then '# S'il n'y a pas déjà de virgule
                keyascii = 44
            Else
                keyascii = 0
            End If

' que les chiffres
Case 0 To 7, 9 To 43, 45, 47, 58 To 300
keyascii = 0
End Select
End Sub

j'ai ce code dix fois, comment faire pour alléger le code

4 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
23 mai 2008 à 19:09
le mieux aurait été que tu fasse un groupe de controle avec tes texbox au lieu d'avoir 10 textbox seules. Tu aurais eu un évènement commun à toutes les textbox du groupe.

Ceci dit, si tu veux conserver tes 10 textbox indépendantes, tu peut toujours déplacer ce code dans une fonction que tu appelera depuis tes 10 évènements.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
23 mai 2008 à 19:10
Bonjour,

Tu es bien en VB6 ?

Si oui : VB6 gère les groupes de contrôles indexés (et c'est bien pratique) !
3
jraynald Messages postés 45 Date d'inscription lundi 1 mai 2000 Statut Membre Dernière intervention 25 février 2012
24 mai 2008 à 09:38
Merci pour votre aide
j'essaye de mettre en place le groupe index donc maintenant j'ai text1(0) text1(1) etc
mais je bloque au niveau de la procedure Private Sub text1_keypress(keyascii As Integer)
3
jraynald Messages postés 45 Date d'inscription lundi 1 mai 2000 Statut Membre Dernière intervention 25 février 2012
24 mai 2008 à 09:44
Désolé je viens de trouver il faut ajouter Index as integer comme cela text1_keypress(Index As Integer, keyascii As Integer)
3
Rejoignez-nous