J'ai un formulaire dans lequel le premier champ à remplir est un nom.
Ensuite je teste si le champ renseigné est vide ou non en faisant
Private Sub nom_Validate(Cancel As Boolean)
If Trim(nom.Text =) "" Then
MsgBox "nom obligatoire"
nom .SetFocus
Exit Sub
End If
End sub
Le problème est que le programme passe dans le nom_Validate au chargement du
formulaire et donc que j'ai le message d'erreur avant que l'on puisse saisir
quoi que ce soit, puisqu'au chargement le nom est vide.
Comment éviter cela ?
Et plus généralement où puis-je trouver des informations sur les cycles
d'exécutions ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Driss HANIB
soit tu fais d'abord un test pour savoir si la chaine est vide avant de faire ton 'Trim$' soit si tu veux seulement ne tester qu'au moment de la saisie, tu peux créer une variable 'Initialisation' que tu mets à vrai en début de Form_load et que tu remets à faux à la fin de cette procédure.
Et dans l'évènement Text_Change, tu vérifies que cette variable 'Initialisation' est bien à faux avant de faire ton test. par contre garde bien ma première partie, car si l'utilisateur efface le contenu de text, tu auras quand même le message d'erreur..
Driis "jerome" a écrit dans le message de news:
Bonjour,
J'ai un formulaire dans lequel le premier champ à remplir est un nom. Ensuite je teste si le champ renseigné est vide ou non en faisant
Private Sub nom_Validate(Cancel As Boolean)
If Trim(nom.Text =) "" Then MsgBox "nom obligatoire" nom .SetFocus Exit Sub End If
End sub
Le problème est que le programme passe dans le nom_Validate au chargement
du
formulaire et donc que j'ai le message d'erreur avant que l'on puisse
saisir
quoi que ce soit, puisqu'au chargement le nom est vide.
Comment éviter cela ? Et plus généralement où puis-je trouver des informations sur les cycles d'exécutions ?
Merci
soit tu fais d'abord un test pour savoir si la chaine est vide avant de
faire ton 'Trim$'
soit si tu veux seulement ne tester qu'au moment de la saisie, tu peux créer
une variable 'Initialisation' que tu mets à vrai en début de Form_load et
que tu remets à faux à la fin de cette procédure.
Et dans l'évènement Text_Change, tu vérifies que cette variable
'Initialisation' est bien à faux avant de faire ton test.
par contre garde bien ma première partie, car si l'utilisateur efface le
contenu de text, tu auras quand même le message d'erreur..
Driis
"jerome" <jerome@hh.fr> a écrit dans le message de
news:ulBY6xp9GHA.3352@TK2MSFTNGP03.phx.gbl...
Bonjour,
J'ai un formulaire dans lequel le premier champ à remplir est un nom.
Ensuite je teste si le champ renseigné est vide ou non en faisant
Private Sub nom_Validate(Cancel As Boolean)
If Trim(nom.Text =) "" Then
MsgBox "nom obligatoire"
nom .SetFocus
Exit Sub
End If
End sub
Le problème est que le programme passe dans le nom_Validate au chargement
du
formulaire et donc que j'ai le message d'erreur avant que l'on puisse
saisir
quoi que ce soit, puisqu'au chargement le nom est vide.
Comment éviter cela ?
Et plus généralement où puis-je trouver des informations sur les cycles
d'exécutions ?
soit tu fais d'abord un test pour savoir si la chaine est vide avant de faire ton 'Trim$' soit si tu veux seulement ne tester qu'au moment de la saisie, tu peux créer une variable 'Initialisation' que tu mets à vrai en début de Form_load et que tu remets à faux à la fin de cette procédure.
Et dans l'évènement Text_Change, tu vérifies que cette variable 'Initialisation' est bien à faux avant de faire ton test. par contre garde bien ma première partie, car si l'utilisateur efface le contenu de text, tu auras quand même le message d'erreur..
Driis "jerome" a écrit dans le message de news:
Bonjour,
J'ai un formulaire dans lequel le premier champ à remplir est un nom. Ensuite je teste si le champ renseigné est vide ou non en faisant
Private Sub nom_Validate(Cancel As Boolean)
If Trim(nom.Text =) "" Then MsgBox "nom obligatoire" nom .SetFocus Exit Sub End If
End sub
Le problème est que le programme passe dans le nom_Validate au chargement
du
formulaire et donc que j'ai le message d'erreur avant que l'on puisse
saisir
quoi que ce soit, puisqu'au chargement le nom est vide.
Comment éviter cela ? Et plus généralement où puis-je trouver des informations sur les cycles d'exécutions ?
Merci
jerome
Merci.
"Driss HANIB" wrote in message news:OG$
soit tu fais d'abord un test pour savoir si la chaine est vide avant de faire ton 'Trim$' soit si tu veux seulement ne tester qu'au moment de la saisie, tu peux
créer
une variable 'Initialisation' que tu mets à vrai en début de Form_load et que tu remets à faux à la fin de cette procédure.
Et dans l'évènement Text_Change, tu vérifies que cette variable 'Initialisation' est bien à faux avant de faire ton test. par contre garde bien ma première partie, car si l'utilisateur efface le contenu de text, tu auras quand même le message d'erreur..
Driis "jerome" a écrit dans le message de news: > Bonjour, > > J'ai un formulaire dans lequel le premier champ à remplir est un nom. > Ensuite je teste si le champ renseigné est vide ou non en faisant > > Private Sub nom_Validate(Cancel As Boolean) > > If Trim(nom.Text =) "" Then > MsgBox "nom obligatoire" > nom .SetFocus > Exit Sub > End If > > End sub > > Le problème est que le programme passe dans le nom_Validate au
chargement
du > formulaire et donc que j'ai le message d'erreur avant que l'on puisse saisir > quoi que ce soit, puisqu'au chargement le nom est vide. > > Comment éviter cela ? > Et plus généralement où puis-je trouver des informations sur les cycles > d'exécutions ? > > Merci > > > >
Merci.
"Driss HANIB" <dhanib@club-internet.fr> wrote in message
news:OG$Xyjr9GHA.4376@TK2MSFTNGP03.phx.gbl...
soit tu fais d'abord un test pour savoir si la chaine est vide avant de
faire ton 'Trim$'
soit si tu veux seulement ne tester qu'au moment de la saisie, tu peux
créer
une variable 'Initialisation' que tu mets à vrai en début de Form_load et
que tu remets à faux à la fin de cette procédure.
Et dans l'évènement Text_Change, tu vérifies que cette variable
'Initialisation' est bien à faux avant de faire ton test.
par contre garde bien ma première partie, car si l'utilisateur efface le
contenu de text, tu auras quand même le message d'erreur..
Driis
"jerome" <jerome@hh.fr> a écrit dans le message de
news:ulBY6xp9GHA.3352@TK2MSFTNGP03.phx.gbl...
> Bonjour,
>
> J'ai un formulaire dans lequel le premier champ à remplir est un nom.
> Ensuite je teste si le champ renseigné est vide ou non en faisant
>
> Private Sub nom_Validate(Cancel As Boolean)
>
> If Trim(nom.Text =) "" Then
> MsgBox "nom obligatoire"
> nom .SetFocus
> Exit Sub
> End If
>
> End sub
>
> Le problème est que le programme passe dans le nom_Validate au
chargement
du
> formulaire et donc que j'ai le message d'erreur avant que l'on puisse
saisir
> quoi que ce soit, puisqu'au chargement le nom est vide.
>
> Comment éviter cela ?
> Et plus généralement où puis-je trouver des informations sur les cycles
> d'exécutions ?
>
> Merci
>
>
>
>
soit tu fais d'abord un test pour savoir si la chaine est vide avant de faire ton 'Trim$' soit si tu veux seulement ne tester qu'au moment de la saisie, tu peux
créer
une variable 'Initialisation' que tu mets à vrai en début de Form_load et que tu remets à faux à la fin de cette procédure.
Et dans l'évènement Text_Change, tu vérifies que cette variable 'Initialisation' est bien à faux avant de faire ton test. par contre garde bien ma première partie, car si l'utilisateur efface le contenu de text, tu auras quand même le message d'erreur..
Driis "jerome" a écrit dans le message de news: > Bonjour, > > J'ai un formulaire dans lequel le premier champ à remplir est un nom. > Ensuite je teste si le champ renseigné est vide ou non en faisant > > Private Sub nom_Validate(Cancel As Boolean) > > If Trim(nom.Text =) "" Then > MsgBox "nom obligatoire" > nom .SetFocus > Exit Sub > End If > > End sub > > Le problème est que le programme passe dans le nom_Validate au
chargement
du > formulaire et donc que j'ai le message d'erreur avant que l'on puisse saisir > quoi que ce soit, puisqu'au chargement le nom est vide. > > Comment éviter cela ? > Et plus généralement où puis-je trouver des informations sur les cycles > d'exécutions ? > > Merci > > > >