1 2 3 4 5 6 7 8 9 10 11 12 13
| Private Sub Worksheet_Change(ByVal Target As Range)
'tu peux remplacer A1 par une autre cellule ou une plage de cellule
's'il faut l'appliquer à toute la feuille supprimer ce premier if
If Not Application.Intersect(Target, Range("A1")) Is Nothing Then
On Error Resume Next
'la vérification ce fait ici
'pour cet exemple je ne vérifie que la longueur de la chaine
If Len(Target.Value) > 3 Then
MsgBox ("trop long")
Target.Value = Left(Target.Value, 3) '<-- ajout de cette ligne
End If
End If
End Sub |