Contrôles de saisie en cours de saisie

ContoleSaisie.xls

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

Validation si toutes zones saisies

Le bouton de validation n'est activé que si toutes les zones ont étés saisies.

ValidationToutesZones.xls

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