Probleme Avec ma sasie TEXTBOX
Ofeu
Messages postés
26
Date d'inscription
Statut
Membre
Dernière intervention
-
Ofeu Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
Ofeu Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un petit souci avec ma textBox1. En effet, j'ai appliqué une limite acceptable entre 10 et 25, et si j'applique d'autre valeurs < à 10 ou supérieur à 25, j'affiche la msg "Entry a value between 10 and 25 kg/day".
Mon problème est que quand je veux mettre 21 (par exemple), au moment que je mets 2 (avant de mettre 1), le message apparapït directement avant que je puisse mettre le 1 (c'est à dire 21).
Je voulais qu'il affiche le message à la fin de ma saisie.
Private Sub TextBox1_Change()
TextBox1.MaxLength = 2
If Not IsNumeric(TextBox1.Value) And TextBox1 <> "" Then
MsgBox "Entry a number"
TextBox1 = ""
ElseIf TextBox1.Value < 10 Or TextBox1.Value > 25 And TextBox1 <> "" Then
MsgBox "Entry a value between 10 and 25 kg/day"
End If
Sheets("Model_FA").Range("B13").Value = TextBox1.Value
End Sub
J'ai un petit souci avec ma textBox1. En effet, j'ai appliqué une limite acceptable entre 10 et 25, et si j'applique d'autre valeurs < à 10 ou supérieur à 25, j'affiche la msg "Entry a value between 10 and 25 kg/day".
Mon problème est que quand je veux mettre 21 (par exemple), au moment que je mets 2 (avant de mettre 1), le message apparapït directement avant que je puisse mettre le 1 (c'est à dire 21).
Je voulais qu'il affiche le message à la fin de ma saisie.
Private Sub TextBox1_Change()
TextBox1.MaxLength = 2
If Not IsNumeric(TextBox1.Value) And TextBox1 <> "" Then
MsgBox "Entry a number"
TextBox1 = ""
ElseIf TextBox1.Value < 10 Or TextBox1.Value > 25 And TextBox1 <> "" Then
MsgBox "Entry a value between 10 and 25 kg/day"
End If
Sheets("Model_FA").Range("B13").Value = TextBox1.Value
End Sub
A voir également:
- Probleme Avec ma sasie TEXTBOX
- Comment concatener plusieurs textbox ✓ - Forum Excel
- Colorer textbox sélectionné ✓ - Forum VB / VBA
- Focus TextBox WPF ✓ - Forum C#
- Erreur sur isdate textbox ✓ - Forum VB / VBA
- Vba textbox date format dd/mm/yyyy ✓ - Forum Excel
2 réponses
Bonjour,
Modifie :
Daniel
Modifie :
Private Sub TextBox1_Change() TextBox1.MaxLength = 2 If Len(TextBox1.Text) < 2 Then Exit Sub If Not IsNumeric(TextBox1.Value) And TextBox1 <> "" Then MsgBox "Entry a number" TextBox1 = "" ElseIf TextBox1.Value < 10 Or TextBox1.Value > 25 And TextBox1 <> "" Then MsgBox "Entry a value between 10 and 25 kg/day" End If Sheets("Model_FA").Range("B13").Value = TextBox1.Value End Sub
Daniel
Merci beacoup de votre aide, c'est presque là !!!!
Maintenant le problème est : si l'utilisateur mets 9, il accepte. Cependant, Il ne va pas accepter si je mets 09 (c'est à dire si je saisis les 2 numéros, logique !). Idem pour 2 (il faut mettre 02, pour que je reçois une msg "Entry a value between 10 and 25 kg/day").
Vous savez comment je peux faire si j'ajoute la valeur 2 par exemple et il envoie la message "Entry a value between 10 and 25 kg/day" seulement quand je sors de la cellule ?
voici le fichier
https://www.cjoint.com/c/HHxlHYoNbAg
Merci bcpppp
Lucas
Maintenant le problème est : si l'utilisateur mets 9, il accepte. Cependant, Il ne va pas accepter si je mets 09 (c'est à dire si je saisis les 2 numéros, logique !). Idem pour 2 (il faut mettre 02, pour que je reçois une msg "Entry a value between 10 and 25 kg/day").
Vous savez comment je peux faire si j'ajoute la valeur 2 par exemple et il envoie la message "Entry a value between 10 and 25 kg/day" seulement quand je sors de la cellule ?
voici le fichier
https://www.cjoint.com/c/HHxlHYoNbAg
Merci bcpppp
Lucas
Utilise cette macro :
au lieu de :
C'est la touche "Entrée qui déclenche la macro.
Daniel
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim Sh As Worksheet
If KeyCode = 13 Then
If Not IsNumeric(TextBox1.Value) And TextBox1 <> "" Then
MsgBox "Entry a number"
TextBox1 = ""
Exit Sub
End If
If CDbl(TextBox1.Value) < 10 Or CDbl(TextBox1.Value) > 25 And TextBox1 <> "" Then
MsgBox "Entry a value between 10 and 25 kg/day"
End If
Sheets("Model_FA").Range("B13").Value = TextBox1.Value
End If
End Sub
au lieu de :
Private Sub TextBox1_Change()
C'est la touche "Entrée qui déclenche la macro.
Daniel
Ajout la macro :
Daniel
Private Sub TextBox1_LostFocus()
If Not IsNumeric(TextBox1.Value) And TextBox1 <> "" Then
MsgBox "Entry a number"
TextBox1 = ""
Exit Sub
End If
If CDbl(TextBox1.Value) < 10 Or CDbl(TextBox1.Value) > 25 And TextBox1 <> "" Then
MsgBox "Entry a value between 10 and 25 kg/day"
End If
Sheets("Model_FA").Range("B13").Value = TextBox1.Value
End Sub
Daniel