CellTest = TextBox1.Value
For x = 1 To Len(CellTest)
Car = Mid(CellTest, x, 1)
If Car = ':' Or Car = '!' Or Car = '-' Or Car = '/' Or Car = ' ' _
Or Car = '.' Or Car = ';' Or Car = ',' Or Car = '\\' Then
MsgBox 'Pas de caractères spéciaux', vbOKOnly, 'Erreur de caractères'
Exit Sub
End If
Next
Dim InChange As Boolean
Private Sub TextBox1_Change()
If Not InChange Then
InChange = True
With Me
If Right(.TextBox1, 1) Like '[+/@&' *-]' Then
.TextBox1 = Left(.TextBox1, Len(.TextBox1) - 1)
End If
End With
InChange = False
End If
End Sub
Merci à tous de vos propositions, j'ai retenu la proposition de Temjeh, le code de AV est interressant et simple mais je n'ai pas réussi àle faire fonctionner en l'état, dommage parce qu'il n'est pas restrictif à une variété de carractères.
''... le code de AV est interressant et simple mais je n'ai pas réussi àle faire fonctionner en l'état, dommage parce qu'il n'est pas restrictif à une variété de carractères...''
Ben oui difficile à faire tourner en l'état !
Problème de copier/coller et des opérateurs logiques non acceptés ....
Avec les remplacements qui vont bien à faire :
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii inférieurà 49 Or KeyAscii supérieurà 57 Then
KeyAscii = 0
End If
End Sub
Un exemple de saisie Année/Mois/Jour
AV [aaa] [file name=TextBoxDate.zip size=9077]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TextBoxDate.zip[/file]