Verif saisie !!

Résolu
Signaler
Messages postés
50
Date d'inscription
mardi 23 avril 2002
Statut
Membre
Dernière intervention
9 mars 2009
-
Messages postés
32
Date d'inscription
vendredi 10 septembre 2004
Statut
Membre
Dernière intervention
14 février 2016
-
Bondoir à tous !

Voila j'ai une feuille avec environ 100 controle de saisie et de case a cocher

je voudrais pourvoir en quittant la page si l'uttilisateur a saisie ou
cliquer qq chose ou non et si il a cliquer ou saisie alors j'affiche un
message pour savoir si il veux enregistrer !

Mais je ne veux pas verifier les controle un par ou renommer mes controle de la meme façon pour jouer avec l'index !

Existe -t-il une fonction qui permet de savoir si l'utilisateur a fait une frape au clavier oua cliquer sur la souris ??

Pierre63

10 réponses

Messages postés
402
Date d'inscription
jeudi 25 novembre 2004
Statut
Membre
Dernière intervention
7 juin 2009
6
Je ne sais pas trop ce qu'il en est pour l'interception des evts claviers/souris mais si la raison pour laquelle tu ne veux pas vérifier tous les controles un à un, c'est afin d'éviter d'avoir des
If TextBox1.Text <> "" Then ...
If TextBox2.Text <> "" Then ...
If TextBox3.Text <> "" Then ....

tu peux mettre ça pour vérifier :
Private Function lfct_VerifSaisie as Boolean
Dim l_Ctl as Control
Dim lb_OK as Boolean
lb_OK = False
For Each l_Ctl in Me.Controls
If TypeOf l_Ctl is TextBox Then
If l_Ctl.Text <> "" Then
'If l_Ctl.Text <> l_Ctl.Tag Then
lb_OK = True
Exit For
End If
If TypeOf l_Ctl is CheckBox Then
If l_Ctl.Value <> 0 Then
'If l_Ctl.Value <> l_Ctl.Tag Then
lb_OK = True
Exit For
End if
End if
Next l_Ctl
If not lb_OK Then
MsgBox "Aucune zone n'a été saisie"
End if
lfct_VerifSaisie = lb_OK
End Function

Si tu as des valeurs par défaut, dans tes zones, utilise la propriété Tag des checkbox et textbox pour les stocker
Après avoir rempli les valeurs par défaut tu lances cette procédure
Public Sub lsub_DefValues(a_Form as Form)
Dim l_Ctl as Control
For Each l_Ctl in a_Form.Controls
If TypeOf l_Ctl is TextBox Then
l_Ctl.Tag = l_Ctl.Text
End If
If TypeOf l_Ctl is CheckBox Then
l_Ctl.Tag = l_Ctl.Value
End If
Next l_Ctl
End Sub
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
328
Date d'inscription
mercredi 26 novembre 2003
Statut
Membre
Dernière intervention
24 novembre 2005

vb6 ou .net?
oui c faisable
Messages postés
402
Date d'inscription
jeudi 25 novembre 2004
Statut
Membre
Dernière intervention
7 juin 2009
6
Trabice, merci de ta participation
Et j'irais même encore plus loin : Il existe peut-être une fonction qui permet de savoir ça
Messages postés
328
Date d'inscription
mercredi 26 novembre 2003
Statut
Membre
Dernière intervention
24 novembre 2005

mouais...ca gaze???!!!

bon ben je met le .net alors



Dim LesFrames
As OpenNETCF.Windows.Forms.GroupBox



For
Each LesFrames
In
Me.Controls


LesFrames.Top = 0


LesFrames.Left = 0



Next

ici pr positionner toutes les groupbox en haut a gauche.

:-)~~

Fabrice
Messages postés
50
Date d'inscription
mardi 23 avril 2002
Statut
Membre
Dernière intervention
9 mars 2009

Salut !

Tout dabord merci !

J'ai un probleme car ce ne marche pas ! J'essaie de preciser de peite
chose ! Je suis en vb6 et en fait dans mes textbox je charge des
données d'une base qui ont été saisie avant ! et je veux faire se
controle pour vérifier que l'utitlisateur est changer un texte pour lui
demander si il veut enregistrer ses changements ! Comme on trouve dans
word qd on modifie son texte !

j'ai l'impression que les tag ne prenne pas les valeur !

Si qq un peut m'aider ! !



Merci


Pierre63
Messages postés
328
Date d'inscription
mercredi 26 novembre 2003
Statut
Membre
Dernière intervention
24 novembre 2005

Si je comprend bien tu devrai mettre un code ds chaque tetbox dans l evenement lost focus et tu voudrai savoir comment pouvoir créer tous ces codes via 1 seul..
la je sé pas.

bon courage

fabrice
Messages postés
50
Date d'inscription
mardi 23 avril 2002
Statut
Membre
Dernière intervention
9 mars 2009

Je penses que ca serait plutot sur chaque textbox avec l'évenement
change ! SI le contenu du textbox change sa me met une variable a vrai
et dans ce cas la je fais aficher le message de savoir s'ils veulent
imprimer ou pas !

Pierre63
Messages postés
328
Date d'inscription
mercredi 26 novembre 2003
Statut
Membre
Dernière intervention
24 novembre 2005

ben je sé pa ce kil doivent rentrer dans les textbox mé si c un mot de 20 caractères,
ils vt avoir 20 fois le msg...
Messages postés
50
Date d'inscription
mardi 23 avril 2002
Statut
Membre
Dernière intervention
9 mars 2009

Cette procedure est bonne !
Public Sub lsub_DefValues(a_Form as Form)
Dim l_Ctl as Control
For Each l_Ctl in a_Form.Controls
If TypeOf l_Ctl is TextBox Then
l_Ctl.Tag = l_Ctl.Text
End If
If TypeOf l_Ctl is CheckBox Then
l_Ctl.Tag = l_Ctl.Value
End If
Next l_Ctl
End Sub



Le seule probleme j'ai fait comme il m'a dit ! je l'ai mis apres avoir
rempli mais textbox mais le seul prob c que le l_ctl.tag ne garde
que la derneire valeur et donc je ne peux plus comparer apres !


Pierre63
Messages postés
32
Date d'inscription
vendredi 10 septembre 2004
Statut
Membre
Dernière intervention
14 février 2016
1
salut tout le monde,



moi, j'ai un champ qui se rempli quand je tape sur des touches, se
champ a donc une variable, et je voudrait que quand j'ai tapé les
bonnes choses (pas forcément exactement, mais au moins que la variable
contient le mot clé, que ca arrete de taper et que ca puisse faire un
autre option.




Pour ceux qui dévellopent en php, cette fonction ressemblerai au eregi(mot-clé($fonction)) mais je ne trouve pas comment faire avec visual basic, cette fonction est inconnue ...





merci de m'apporter vos lumieres



NM