OVH Cloud OVH Cloud

TextBox : Espaces

4 réponses
Avatar
Shewy80
Bonjour à tous.

je dois controler que les textBox de mon UserForm ne sont pas vide avt de
tranférer les données.

Je sais détecter qu'ils ne sont pas vide grace à : If
(tbRaisonSociale.Text) = "" Then MsgBox "le TextBox est vide"
Je sais détecter la long minimum grace à : If Len(tbRaisonSociale.Text) > 2
Then MsgBox "Minimum 3 caractères "

Mais comment faire pour détecter un textBox rempli qu'AVEC des espaces.
(sachant que ce caractère ne peux pas être interdit)

Car si on met 4 espaces, le textBox est OK... alors que ce n'est pas le cas.

Merci de votre aide

4 réponses

Avatar
Rai
Bonjour,

La fonction LTrim () supprime tous les espaces à gacuhe d'une chaîne de caractères. Sa soeur, RTrim tous les espaces à droite.
Incorpore LTrim() dans ton test de longeur. Si l'utilisateur met 3,4 ou plus d'espaces ... Ltrim remettra la longueur à 0.

If LTrim(Len(tbRaisonSociale.Text)) > 2


Bonne fin de semaine


--
Cordialement,

Rai
Remplacer point par la ponctuation appropriée pour répondre...

"Shewy80" a écrit dans le message de news: cnn5a5$cfu$
Bonjour à tous.

je dois controler que les textBox de mon UserForm ne sont pas vide avt de
tranférer les données.

Je sais détecter qu'ils ne sont pas vide grace à : If
(tbRaisonSociale.Text) = "" Then MsgBox "le TextBox est vide"
Je sais détecter la long minimum grace à : If Len(tbRaisonSociale.Text) > 2
Then MsgBox "Minimum 3 caractères "

Mais comment faire pour détecter un textBox rempli qu'AVEC des espaces.
(sachant que ce caractère ne peux pas être interdit)

Car si on met 4 espaces, le textBox est OK... alors que ce n'est pas le cas.

Merci de votre aide




Avatar
Moi
Bonjour,
if suffit d'utiliser la fonction TRIM

ex : If len(trim(textbox1.text)<3 then .....

Moi

"Shewy80" a écrit dans le message de news:
cnn5a5$cfu$
Bonjour à tous.

je dois controler que les textBox de mon UserForm ne sont pas vide avt de
tranférer les données.

Je sais détecter qu'ils ne sont pas vide grace à : If
(tbRaisonSociale.Text) = "" Then MsgBox "le TextBox est vide"
Je sais détecter la long minimum grace à : If Len(tbRaisonSociale.Text) >
2

Then MsgBox "Minimum 3 caractères "

Mais comment faire pour détecter un textBox rempli qu'AVEC des espaces.
(sachant que ce caractère ne peux pas être interdit)

Car si on met 4 espaces, le textBox est OK... alors que ce n'est pas le
cas.


Merci de votre aide




Avatar
papou
Bonjour
If Len(Trim(TextBox1)) = 0 Then
MsgBox "Impossible de ne saisr que des espaces"
TextBox1 = ""
End If
Cordialement
Pascal

"Shewy80" a écrit dans le message de news:
cnn5a5$cfu$
Bonjour à tous.

je dois controler que les textBox de mon UserForm ne sont pas vide avt de
tranférer les données.

Je sais détecter qu'ils ne sont pas vide grace à : If
(tbRaisonSociale.Text) = "" Then MsgBox "le TextBox est vide"
Je sais détecter la long minimum grace à : If Len(tbRaisonSociale.Text) >
2
Then MsgBox "Minimum 3 caractères "

Mais comment faire pour détecter un textBox rempli qu'AVEC des espaces.
(sachant que ce caractère ne peux pas être interdit)

Car si on met 4 espaces, le textBox est OK... alors que ce n'est pas le
cas.

Merci de votre aide




Avatar
Shewy80
Génial vos réponses !!
j'avais écrit ces quelques lignes. Mais LTrim est bcp plus simple !!

Un grand merci à vous tous.

--------------------------Pour info -------------------------------------
Dim longtxt As Integer
Dim caract As String
Dim cara As Integer
Dim esp As Integer

longtxt = Len(TextBox1.Text)
esp = 0

Do While i < longtxt
i = i + 1
caract = Right(Left(TextBox1.Text, i), 1)
If caract = " " Then
esp = esp + 1
Else
cara = cara + 1
End If
MsgBox "Caractère : " & caract & vbCrLf & "Nb Espace: " & esp _
& vbCrLf & " Nb Lettres: " & cara
Loop

If cara < esp Then MsgBox "Trop d'espace"