validation de données dans une TexBox

babylonzoo

XLDnaute Nouveau
Bonjour,
je suis encore novice en VBA et je souhaiterai avoir des tuyaux pour que les saisies faites dans les TextBOX d'un userform soit validées avant enregistrement des données.

voila les codes inserés dans
Private Sub CommandButtonValid_Click()


If TextBoxVisa.Value = "" Then
MsgBox ("Il faut saisir l'opérateur !")
Exit Sub
End If
If TextBoxVisa.Value <> "toto" Then
MsgBox ("Opérateur non reconnu !")
Exit Sub
End If

If TextBoxNLL1.Value = "" Then
MsgBox ("Saisie manquante !")
Exit Sub
ElseIf TextBoxNLL1.Value > 25 Then
MsgBox ("Valeur supérieure à 25 mmm !")
Exit Sub
End If

.................
End Sub

dans la textboxvisa
j'aimerai que "toto" ne soit pas le seul a pouvoir saisir sans ouvrir la msgbox ( j'ai essayé des trucs du style - If TextBoxVisa.Value <> "toto" or "tata" Then.............. mais ça ne fonctionne pas.

dans la

TextBoxNLL1
j'aimerai aussi pouvoir saisir un "M" sans que la macro plante a cause de la conditions Value > 25

Merci pour vos reponses, je suis debutant alors je souhaiterai commprendre le code a inserer ( si c'est possible de faire simple bien sur ! )

merci encore

babyloonzoo
 

PMO2

XLDnaute Accro
Re : validation de données dans une TexBox

Bonjour,

Une piste, peut-être, avec votre code modifié ci-dessous

Code:
Private Sub CommandButtonValid_Click()

If textboxvisa.Value = "" Then
  MsgBox ("Il faut saisir l'opérateur !")
  textboxvisa.SetFocus
  Exit Sub
End If

Dim valides
Dim i&
Dim bool As Boolean
valides = Array("toto", "tata", "kiki", "coco") 'ajouter les noms valides
For i& = LBound(valides) To UBound(valides)
  If textboxvisa.Value = valides(i&) Then
    bool = True
    Exit For
  End If
Next i&
If Not bool Then
  MsgBox ("Opérateur non reconnu !")
  textboxvisa.Value = ""
  textboxvisa.SetFocus
  Exit Sub
End If

If TextBoxNLL1.Value = "" Then
  MsgBox ("Saisie manquante !")
  TextBoxNLL1.SetFocus
  Exit Sub
End If

If IsNumeric(TextBoxNLL1.Value) Then
  If TextBoxNLL1.Value > 25 Then
    MsgBox ("Valeur supérieure à 25 mmm !")
    TextBoxNLL1.Value = ""
    TextBoxNLL1.SetFocus
    Exit Sub
  End If
Else
  If TextBoxNLL1.Value <> "M" Then
    MsgBox ("Valeur différente de M !")
    TextBoxNLL1.Value = ""
    TextBoxNLL1.SetFocus
    Exit Sub
  End If
End If

End Sub

Cordialement.

PMO
Patrick Morange
 

babylonzoo

XLDnaute Nouveau
Re : validation de données dans une TexBox

bonjour à tous,

Encore une question concernant les TexBox :

j'ai dans ma zone UserForm_Initialize déclaré la fonction suivante:

If Sheets("poids").Range("E65536").End(xlUp).Offset(0, 0).Value = "M" Then
TextBoxNP1.Value = "M"
End If

Ma TexBox prend la valeur M si la derniere saisie est M.

le M correspont à une fin de serie de mesure pour cette TexBox en particuler.

je souhaiterai lorsque la valeur M apparait a l'ouverture du userform ( et donc si M a été saisie la fois d'avant ) interdire une autre saisie dans la TexBox ( en fait bloquer le M en place pour que cette saisie ne puisse plus changer).

si ce n'est pas possible pourrais je au moins avoir le fond de la texbox en rouge a l'ouverture ?

Merci pour votre aide

Babylonzoo
 

job75

XLDnaute Barbatruc
Re : validation de données dans une TexBox

Bonsoir,

Code:
If Sheets("poids").Range("E65536").End(xlUp).Offset(0 , 0).Value = "M" Then
TextBoxNP1.Value = "M"
[COLOR="Red"]TextBoxNP1.Locked = True[/COLOR]
End If

A+
 

skoobi

XLDnaute Barbatruc
Re : validation de données dans une TexBox

Bonjour le fil,

If Sheets("poids").Range("E65536").End(xlUp).Offset(0 , 0).Value = "M" Then
TextBoxNP1.Value = "M"
TextBoxNP1.BackColor = vbRed
TextBoxNP1.Locked = True
End If
 

Statistiques des forums

Discussions
312 329
Messages
2 087 327
Membres
103 517
dernier inscrit
hbenaoun63