Bonsoir Jmh,
Tu trouveras ci-joint un exemple pouvant répondre à ton problème.
La saisie est limitée au touche numérique dans le TextBox grâce à la fonction suivante déclenchée sur l'évènement TextBox1_KeyPress :
Public Function AutoriseFrappe(ByVal K As Integer) As Integer
'Autorise uniquement les touches numériques
Select Case K
Case Is < 48, Is > 57 'différent de 0 à 9
K = 0
End Select
AutoriseFrappe = K
End Function
Le contôle de nombre multiple de 3 se fait lors dans l'évènement btnValider_Click :
Private Sub btnValider_Click()
Dim N As Integer
'Test / 3
N = Val(TextBox1.Text)
If N Mod 3 <> 0 Then
MsgBox "Le nombre saisie n'est pas divisible par 3 !", , "Erreur !"
TextBox1.SetFocus
Exit Sub
End If
'MAJ feuille
Range("A1") = TextBox1.Value
Unload Me
End Sub
Tu pourrais également inclure ce contrôle directement dans l'évènement TextBox1_Exit.
Cordialement,
Didier_mDF