textbox minimum de caractere

GHISLAIN

XLDnaute Impliqué
bonjour a tous

je cherche a imposer dans un textbox une saisie minimum de caratere
concernant le maximun avec la propriété MAXLENGTH c est ok pour la longueur

je souhaite que l'utilisateur saisise un nombre de 5 chiffres obligatoirement


merci a tous pour vos solutions

GHISLAIN

Message édité par: GHISLAIN, à: 24/02/2006 14:51
 

WILFRIED

XLDnaute Impliqué
Salut GHISLAIN

Une petite astuce :

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
if len(textbox1.text)<5 then
msgbox('Vous devez saisir 5 chiffres au minimum')
end if
if isnumeric(textbox1.text)=false then
msgbox('Vous ne devez saisir que des chiffres')
end if
End Sub

Normalement cela doit fonctionné.

A+
 

GHISLAIN

XLDnaute Impliqué
re wilfried

je viens de rentrer la formule ça fonctionne j ai juste rajouté le With qui m'efface la cellule si il n'y a pas les 4 chiffres et vu que sur mon bouton enregistré il demande que toute les cases soit remplis ça fonctionne

Private Sub textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(textbox1.Text) < 4 Then
MsgBox ('Vous devez saisir 4 chiffres au minimum')
With numero
.textbox1.Text = ''
End With
End If
End Sub

merci mille fois

GHISLAIN
 

PFG60

XLDnaute Junior
Re : textbox minimum de caractere

Bonsoir à tous,

Je rouvre cette discussion car je souhaite aussi obligé un nombre de chiffre dans les textbox.

Par exemple, dans une textbox "Code postal", je souhaite que l'utilisateur soit obligé de saisir 5 chiffres.
J'ai déjà paramétrer le MaxLength à 5.

Mais comment faire avec mon code suivant :

Code:
Private Sub TextCode_Postal_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'------------------------------------
' autoriser UNEQUEMENT des chiffres !
'------------------------------------

    If InStr("1234567890", Chr(KeyAscii)) = 0 Then KeyAscii = 0: Beep

End Sub
 

PFG60

XLDnaute Junior
VBA - Nombre de caractère minimum & maximum dans TextBox

Bonjour à tous,

Voici le code que j'ai mis pour obligé uniquement la saisie de chiffres et signaler le nombre de chiffres "obligatoire" :
Code:
Private Sub TextTéléphone_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'------------------------------------
' autoriser UNEQUEMENT des chiffres !
'------------------------------------

    If InStr("1234567890", Chr(KeyAscii)) = 0 Then KeyAscii = 0: Beep

End Sub

Private Sub TextTéléphone_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'------------------------------------------
' pour saisir obligatoirement 10 chiffres !
'------------------------------------------

    If Len(TextTéléphone.Text) < 10 Then KeyAscii = 0: Beep
    MsgBox ("Vous devez saisir un numéro de téléphone valide." & Chr(10) & Chr(10) & "Pour cela, saisissez 10 chiffres.")

End Sud


Cependant, après avoir cliqué sur OK du MsgBox, mon curseur va dans le champ de saisie suivant.
L'utilisateur peut donc quand même outrepasser l'avertissement de saisie et valider des données erronées.

Comment faire pour rester sur le champ invalide ?
 
Dernière édition:

laetitia90

XLDnaute Barbatruc
Re : textbox minimum de caractere

re tous

c'est cancel=true qui empeche de quitter

un autre exemple plus complet developpé

Code:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  If Len(TextBox1) < 10 Then
  MsgBox ("Vous devez saisir un numéro de téléphone valide." & Chr(10) & Chr(10) & "Pour cela, saisissez 10 chiffres.")
 Cancel = True
 End If
End Sub
 

PFG60

XLDnaute Junior
Re : textbox minimum de caractere

Alors OK pour Cancel mais cela empêche de passer au champ suivant.

Bonne piste mais comment forcer l'utilisateur à saisir le nombre de chiffre requis ?
  • si moins de 10 chiffres : message d'avertissement et rester dans le champ de saisie
  • si nombre de chiffres OK : pouvoir passer au champ suivant et pas de message d'avertissement
 
Dernière édition:

laetitia90

XLDnaute Barbatruc
Re : textbox minimum de caractere

re
du moment que le focus ait donne au textbox concerne..... tant que pas 10 chiffres impossible de sortir
apres pour l'obliger tu peus mettre un label a cote de la textbox concerne caption du label attention ect...

a mon avis dans ton user tu dois avoir un bouton pour valider tout cela .....agir a ce niveau mettre des conditions
boucle sur les textbox concernee si textbox1 pas renseigne renvoi dans la box code textbox1.setfocus

apres il faudrait voir ton fichier pour optimiser cela & simplifier le code beaucoup de methode ...... a voir

regarderai plus tard si tu y arrive pas
 

PFG60

XLDnaute Junior
Re : textbox minimum de caractere

Bien...
Me voici de retour.

Voici un code qui fonctionne sur les conseils de laetitia90 :

Private Sub TextCode_Postal _Exit(ByVal Cancel As MSForms.ReturnBoolean)
'----------------------------------------------------------
' permet d'avertir l'utilisateur en cas de saisie erronée !
'----------------------------------------------------------


If Len(TextCode_Postal.text) = 5 Then

Else
CPerreur.Caption = "Le code postal ne contient pas 5 chiffres mais" _
& Len(TextCode_Postal.text) & " chiffre(s)."

End If

End Sub



Le seul défaut de ce code : même si une correction est faite par l'utilisateur (par ex. 3 chiffres vers 5 chiffres), le messages d'erreur reste présent.


en orange : le nom de vos champs dans la propriété "(Name)" (ex. TextBox, ComboBox, label...).

Dans cet exemple, CPerreur est un label (formater en gras et en rouge vif pour attirer l'attention de l'utilisateur) et TextCode_Postal un TextBox.
A vous de personnaliser le message présent entre les guillemets.
 

Si...

XLDnaute Barbatruc
Re : textbox minimum de caractere

salut

autre proposition
VB:
Private Sub Phone_KeyPress(ByVal K As MSForms.ReturnInteger)
   If InStr("1234567890", Chr(K)) = 0 Then K = 0
End Sub
Private Sub Phone_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   'propriété Maxlength mise à 10
   Dim L As Byte
   L = Len(Phone)
   If L < 10 Then
     MsgBox "il faut 10 chiffres !", 48, "N° incomplet..."
     Cancel = 1
   End If
End Sub
voir fichier joint pour Phone et CP
 

Pièces jointes

  • TxBox_N°.xls
    43 KB · Affichages: 159

Discussions similaires

Statistiques des forums

Discussions
312 279
Messages
2 086 730
Membres
103 380
dernier inscrit
prolofief