Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim plage As Single
If TextBox1 = "" Then Exit Sub
plage = TextBox1
If plage < 1 Or plage > 100 Then
Cancel = True
MsgBox "Données non valide ! La valeur doit être comprise entre 1 et 100"
TextBox1 = ""
End If
End Sub
Private Sub TextBox1_Change()
Dim vMax
vMax = 100
If TextBox1 = vbNullString Then Exit Sub
If Not IsNumeric(TextBox1) Then
MsgBox "Ne saisir que des chiffres! Merci", vbCritical
TextBox1 = vbNullString
ElseIf Val(TextBox1) > vMax Then
MsgBox "Valeur incorrecte!", vbCritical
TextBox1 = 100
End If
End Sub
Private Sub TextBox1_Change()
TextBox1 = Left(TextBox1, 3)
If Not IsNumeric(Mid(TextBox1, 1, 1)) Then TextBox1 = Mid(TextBox1, 2)
If Not IsNumeric(Mid(TextBox1, 2, 1)) Then TextBox1 = Left(TextBox1, 1) & Mid(TextBox1, 3)
If Not IsNumeric(Mid(TextBox1, 3, 1)) Then TextBox1 = Left(TextBox1, 2)
If Val(Left(TextBox1, 3)) > 100 Then TextBox1 = Left(TextBox1, 2)
End Sub
Tout le monde sait que les messages sont casse-pieds !!!
Private Sub TextBox1_Change()
TextBox1 = Left(TextBox1, 3)
If Not IsNumeric(Mid(TextBox1, 1, 1)) Then TextBox1 = Mid(TextBox1, 2)
If Not IsNumeric(Mid(TextBox1, 2, 1)) Then TextBox1 = Left(TextBox1, 1) & Mid(TextBox1, 3)
If Not IsNumeric(Mid(TextBox1, 3, 1)) Or Val(TextBox1) > 100 Then TextBox1 = Left(TextBox1, 2)
End Sub
Private Sub TextBox1_Change()
Private Sub TextBox1_Change()
If TextBox1 > 100 Then
Cancel = True
TextBox1 = "Uniquement valeur" & vbCrLf & "numérique < à 100"
With TextBox1
.SetFocus
.SelStart = 0
.SelLength = Len(TextBox1.Text)
End With
End If
End Sub
End Sub
Oubli : mettre les propriétés : Multiline àTrue et MaxLenght à 3
@+ Eric c
Private Sub TextBox1_Change()
Dim vMax
vMax = 100
If TextBox1 = vbNullString Then Exit Sub
If Not IsNumeric(TextBox1) Then
MsgBox "Ne saisir que des chiffres! Merci", vbCritical
TextBox1 = vbNullString
ElseIf Val(TextBox1) > vMax Then
MsgBox "Valeur incorrecte!", vbCritical
TextBox1 = 100
End If
End Sub
Private Sub TextBox1_Change()
TextBox1 = Left(TextBox1, 3)
If Not IsNumeric(Mid(TextBox1, 1, 1)) Then TextBox1 = Mid(TextBox1, 2)
If Not IsNumeric(Mid(TextBox1, 2, 1)) Then TextBox1 = Left(TextBox1, 1) & Mid(TextBox1, 3)
If Not IsNumeric(Mid(TextBox1, 3, 1)) Or Val(TextBox1) > 100 Then TextBox1 = Left(TextBox1, 2)
End Sub
@ KTM, même si le code proposé ne te convient pas, prends au moins la peine de saluer la personne qui a pris de son temps pour tenter de te répondre et ce avec ses connaissances, quelles qu'elles soient. Il me semble que cela est la base même de la politesse, enfin me semble t'il ???
Ce forum est un forum d'entraide composé de passionnés d'EXCEL. Nous ne sommes pas tous des ténors du Vba mais avons le mérite pour grand nombre d'entre nous d'être polis et de tenter de rendre service aux personnes en difficultés.
Sur ce, bon dimanche à toutes & à tous
@+ Eric c
bonjour a tous @Eric C j'aime bien l'idée du message directement dans le textbox avec le sellength (len) prêt pour une new saisie
ce sont de petits détails que j'aime beaucoup dans la prog vba excel
il est question de numérique; un test sur ce point serait bien venue aussi
perso je suis plutôt adepte des événements keypress et keydown en interceptant les keyascii et keycode
mais dans un contexte de simplicité d'un simple contrôle et (contrainte a une valeur) ton idée est nikel
pas de msgbox: POUAHH!!! les msgboxs 🙂
re
pas d'inter le dimanche ?
a ben ça rien est moins sur😉 c'est un peu le problème quand on développe un lien amical avec des clients réguliers
ils se permette de t'appeler pour n'importeNAOuAck
cela dit je me plaint pas c'est comme ca que je travaille 🙂
pour ton idée
VB:
Private Sub TextBox1_Change()
With TextBox1
.Value = Replace(.Value, ".", ",") ' on accepte les décimales
If .Value > 100 Or Not IsNumeric(.Value) Then
Cancel = True
.Value = IIf(.Value <> "", "Uniquement valeur numérique < à 100", "")
.SetFocus
.SelStart = 0
.SelLength = Len(.Value)
End If
End With
End Sub
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD