Salut à tous !
J'ai un petit souci avec les Textbox que j'ai dans une boîte de dialogue.
Petite présentation : j'ai une soixantaine de Textbox qui se suivent dans une boîte de dialogue.
J'ai fait en sorte que l'ordre de tabulation aille de Textbox en Textbox...
Donc, quand je suis dans la boîte, le curseur se met sur la première Textbox, je saisis un montant et je tape sur Tab... et le curseur va sur la seconde Textbox... et ainsi de suite...
Malheureusement, par moment, le Tab ne fonctionne plus et insère dans le texte de la Textbox active une tabulation (quelques caractères).
D'où vient ce problème ?
Petite précision : pour chaque Textbox, il y a deux sub qui contrôlent ce que l'on saisit :
Code :
- Private Sub TEXTBOX_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
- If KeyAscii = Asc(Point) Then
- If InStr(TEXTBOX, Virgule) = 0 Then
- KeyAscii = Asc(Virgule)
- Else
- KeyAscii = 0
- End If
- ElseIf InStr(entrees_decimales_permises, Chr(KeyAscii)) = 0 Then
- KeyAscii = 0
- ElseIf InStr(TEXTBOX, Virgule) > 0 And KeyAscii = Asc(Virgule) Then
- KeyAscii = 0
- End If
-
- If KeyAscii = 13 Then SendKeys "{TAB}": KeyAscii = 0
- End Sub
|
Code :
- Private Sub TEXTBOX_AfterUpDate()
- If IDENTIFIANT.Text = "" Then
- If TEXTBOX.Text = "" Then TEXTBOX.Text = 0
- TEXTBOX.Text = Format(TEXTBOX.Text, "##,##0.00" )
- If CODESOCIETE.Text = "" Then
- Call Oubli1
- Else
- Call Oubli3
- End If
- Else
- If TEXTBOX.Text = "" Then R002.Text = 0
- TEXTBOX.Text = Format(TEXT.Text, "##,##0.00" )
- If CODESOCIETE.Text = "" Then
- Call Oubli2
- Else
- End If
- End If
-
- End Sub
|
Le premier code oblige la saisie de valeur numérique à deux virgules.
Le second informe le saisisseur à saisir d'autres infos dans d'autres Textbox et met 0,00 dans la zone de saisie si le saisisseur a mis à blanc le champ.
---------------
iMac 4Ghz (fin 2015) RAM 16Go SSD 256Go SSD 2To