Modifier code

Bonjour,

Jai un formulaire avec des frames que je rend visible ou non à l'aide d"OptionButton

et j'aimerai avoir mon code plus court et mieux construit

Mon Code :

Private Sub UserForm_Initialize()
Frame1.Visible = True
Frame2.Visible = False
Me.Width = 579
Me.Height = 125
End Sub

Private Sub CommandButton1_Click()
Frame1.Visible = True
Frame2.Visible = False
Frame3.Visible = False
Frame4.Visible = False
Me.Width = 579
Me.Height = 125
Frame1.Top = 18
End Sub

Private Sub CommandButton2_Click()
Frame1.Visible = True
Frame2.Visible = False
Frame3.Visible = False
Frame4.Visible = False
Me.Width = 579
Me.Height = 125
Frame1.Top = 18
End Sub

Private Sub CommandButton3_Click()
Frame1.Visible = True
Frame2.Visible = False
Frame3.Visible = False
Frame4.Visible = False
Me.Width = 579
Me.Height = 125
Frame1.Top = 18
End Sub

Private Sub OptionButton1_Click()
Frame1.Visible = False
Frame2.Visible = True
Frame3.Visible = False
Frame4.Visible = False
Frame2.Top = 18
Me.Width = 579
Me.Height = 205
OptionButton1.Value = False
End Sub

Private Sub OptionButton2_Click()
Frame1.Visible = False
Frame2.Visible = False
Frame3.Visible = True
Frame4.Visible = False
Frame3.Top = 18
Me.Width = 579
Me.Height = 240
OptionButton2.Value = False
End Sub

Private Sub OptionButton3_Click()
Frame1.Visible = False
Frame2.Visible = False
Frame3.Visible = False
Frame4.Visible = True
Frame4.Top = 18
Me.Width = 579
Me.Height = 280
OptionButton3.Value = False
End Sub

Je joint mon formulaire qui seras plus explicite.

Merci d'avance

Max

13frame.xlsm (29.91 Ko)

Bonjour,

pour faire plus court, on peut déporter dans une sub le code répété dans chaque Private Sub OptionButtonX_Click()

Par exemple

Private Sub OptionButton1_Click()

Frame1.Visible = False
Frame2.Visible = True
Frame3.Visible = False
Frame4.Visible = False
MaskFrameOB 1
Frame2.Top = 18

Me.Width = 579
Me.Height = 205
OptionButton1.Value = False
End Sub

deviendrait:

Private Sub OptionButton1_Click()

MaskFrameOB 1
Frame2.Top = 18

Me.Width = 579
Me.Height = 205
OptionButton1.Value = False
End Sub

avec la sub commune aux 4 optionbutton:

Sub MaskFrameOB(Num)
For i = 1 To 4
    Me("Frame" & i).Visible = (i = Num + 1)
Next
End Sub

un principe similaire pourrait être utilisé pour les CommandButton...

A+

Rechercher des sujets similaires à "modifier code"