bonjour,
je voudrais autoriser de taper que les chiffres 1,2,3,4 et 5 dans une cellule de mon tableau excel...
pour le faire dans un formulaire, j'ai fait ceci :
mais pour faire celà dans une cellule, je n'y arrive pas trop... j'étais parti sur un truc du genre : (la cellule à controler est en B4)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Private Sub TextBoxNbrePosesTour_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) Dim allowedKeys As String allowedKeys = "12345" & Chr(8) If InStr(allowedKeys, Chr(KeyAscii)) = 0 Then KeyAscii = 0 ImgAttention.Visible = True LbAttention.Visible = True End If End Sub
mais ce n'était que pour n'autoriser que des chiffres.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Private Sub Worksheet_Change(ByVal Target As Range) Dim allowedKeys As String Dim reste, NbrePosesTour2 If (Not Intersect(Target, Range("B4")) Is Nothing) Then If Not mCellule Is Nothing And mCellule.Value <> "" Then NbrePosesTour2 = Range("B4").Value reste = NbrePosesTour2 NbrePosesTour2 = "" Do While Len(reste) > 0 If IsNumeric(Left(reste, 1)) Then NbrePosesTour2 = NbrePosesTour2 & Left(reste, 1) End If reste = Mid(reste, 2) Loop Range("B4").Value = NbrePosesTour2 End If End If End Sub
De plus cette fonction ne réagit pas lors de la frappe, mais lors de la validation de la cellule.
Y a t'il un moyen de vérifier le KeyPress sur une cellule particulière ?
merci
Partager