Private Sub Nom_Change()
If Me.Nom <> "" Then
Me.Prénom.Enabled = True
Me.Salaire.Enabled = True
Me.Prénom.BackColor = vbWhite
Me.Salaire.BackColor = vbWhite
End If
End Sub
Private Sub Prénom_Change()
controle
End Sub
Private Sub Salaire_Change()
controle
If Me.Salaire <> "" And Not IsNumeric(Me.Salaire) Then
MsgBox "Saisir du num"
End If
End Sub
Sub controle()
If Me.Prénom <> "" And Me.Salaire <> ""
Then
Me.B_ok.Enabled = True
End If
End Sub
Private Sub B_ok_Click()
[A65000].End(xlUp).Offset(1, 0).Select
ActiveCell = UCase(Me.Nom)
ActiveCell.Offset(0, 1) = Application.Proper(Me.Prénom)
ActiveCell.Offset(0, 2) = CDbl(Me.Salaire)
[A2:C1000].Sort key1:=[A2]
raz
End Sub
Sub raz()
Me.Nom = ""
Me.Prénom = ""
Me.Salaire = ""
Me.Prénom.Enabled = False
Me.Salaire.Enabled = False
Me.Prénom.BackColor = Me.BackColor
Me.Salaire.BackColor = Me.BackColor
Me.B_ok.Enabled = False
End Sub
Le bouton de validation n'est activé que si toutes les zones ont étés saisies.
Dim Txt(1 To 8) As New ClasseSaisie
Private Sub UserForm_Initialize()
For b = 1 To 8: Set Txt(b).GrSaisie = Me("textbox"
& b): Next b
End Sub
Module de classe: ClasseSaisie
Public WithEvents GrSaisie As MSForms.TextBox
Private Sub GrSaisie_Change()
témoin = True
For i = 1 To 8
If F_Validation_toutes_zones("textbox"
& i) = "" Then témoin = False
Next i
F_Validation_toutes_zones.B_valid.Enabled = témoin
End Sub