Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VBA] Simplifier une partie du code

1 réponse
Avatar
Pierre93
Bonsoir au forum !

Une question simple :
Y a t-il un moyen de simplifier cette partie de code (car j'ai en fait 40
TextBox !!!) ?

Private Sub TxtCde1_Change()
TxtCde1.MaxLength = 6
TxtCde1.Value = UCase(TxtCde1.Value)
End Sub
Private Sub TxtCde2_Change()
TxtCde2.MaxLength = 6
TxtCde2.Value = UCase(TxtCde2.Value)
End Sub
Private Sub TxtCde3_Change()
TxtCde3.MaxLength = 6
TxtCde3.Value = UCase(TxtCde2.Value)
End Sub
Private Sub TxtCde4_Change()
TxtCde4.MaxLength = 6
TxtCde4.Value = UCase(TxtCde4.Value)
End Sub
Private Sub TxtCde5_Change()
TxtCde5.MaxLength = 6
TxtCde5.Value = UCase(TxtCde5.Value)
End Sub

Merci

Pierrot 93

1 réponse

Avatar
JB
Re Bonsoir,

Module de classe ClasseSaisie:

Public WithEvents GrSaisie As MSForms.TextBox
Private Sub GrSaisie_change()
nomtext = GrSaisie.Name
UserForm1(nomtext) = UCase(UserForm1(nomtext))
End Sub

Form:

Dim Txt(1 To 40) As New ClasseSaisie
Private Sub UserForm_Initialize()
For b = 1 To 3
Set Txt(b).GrSaisie = Me("txtCde" & b)
Me("txtcde" & b).MaxLength = 6
Next b
End Sub

http://cjoint.com/?dkuHjBguGx

JB





On 10 mar, 20:16, "Pierre93" wrote:
Bonsoir au forum !

Une question simple :
Y a t-il un moyen de simplifier cette partie de code (car j'ai en fait 40
TextBox !!!) ?

Private Sub TxtCde1_Change()
TxtCde1.MaxLength = 6
TxtCde1.Value = UCase(TxtCde1.Value)
End Sub
Private Sub TxtCde2_Change()
TxtCde2.MaxLength = 6
TxtCde2.Value = UCase(TxtCde2.Value)
End Sub
Private Sub TxtCde3_Change()
TxtCde3.MaxLength = 6
TxtCde3.Value = UCase(TxtCde2.Value)
End Sub
Private Sub TxtCde4_Change()
TxtCde4.MaxLength = 6
TxtCde4.Value = UCase(TxtCde4.Value)
End Sub
Private Sub TxtCde5_Change()
TxtCde5.MaxLength = 6
TxtCde5.Value = UCase(TxtCde5.Value)
End Sub

Merci

Pierrot 93