Private Sub txtNom_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii >= 65 And KeyAscii <= 90 Or KeyAscii >= 97 And KeyAscii <= 122 Then
KeyAscii = KeyAscii
Else
KeyAscii = 0
End If
End Sub
Private Sub txtNom_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsNumeric(Me.txtNom) Then
MsgBox "Cette zone ne peut pas contenir un nombre"
Cancel = True
End If
End Sub
Si vous voulez empêcher que le texte contienne des chiffres utilisez ;
VB:
Private Sub txtNom_Change()
Dim x$, i%
x = txtNom
For i = Len(x) To 1 Step -1
If IsNumeric(Mid(x, i, 1)) Then x = Left(x, i - 1) & Mid(x, i + 1)
Next
txtNom = x
End Sub
qui fonctionne même si le texte est entré par copier-coller, contrairement à la solution de cp4.
il y a une différence entre empêcher la saie de numérique et le fait que la valeur soit numérique
surtout si on vient coller une valeur copier ici ou là
donc vraiment au plus simple
VB:
Private Sub txtNom_Change()
with txtNom: if .value like"*[0-9]*" then .value="":end with
End Sub
et basta pas de nombre ni de chiffre
on empeche ainsi