Validation formulaire

Serialsiner Messages postés 15 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 23 septembre 2005 - 6 mai 2005 à 11:05
Serialsiner Messages postés 15 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 23 septembre 2005 - 6 mai 2005 à 13:00
Bonjour à tous,

Je butte depuis plusieurs jours sur un problème avec un userform et j'aurais besoin de vos conseils éclairés :

J'ai un formulaire classique avec un bouton de validation qui fait appel à 2 procédures:
- Dans la première Sub, j'affecte le contenu des champs à des variables puis j'afecte ces variables à des cellules de ma feuille Excel.
- Ma deuxième Sub copie le classeur et l'enregistre sous un nouveau classeur.

Tout fonctionne correctement jusqu'à ce que j'ajoute à la fin de ma première procédure, un contrôle sur un champ :

If LeNomDeMonChamp = "" Then
alert = MsgBox("Merci de saisir votre les données" _
, vbExclamation + vbApplicationModal, "SAISIE INCOMPLETE!")
LeNomDeMonChamp.SetFocus
Else
Assistant.Hide
Unload Me
End If

Le contrôle fonctionne la première fois si le champ est vide et affiche le message, mais si je persiste et que je valide encore sans remplir le champ, la deuxième procédure est exécutée alors que je voudrais que le message s'affiche à nouveau jusqu'à ce que le champ soit rempli par l'utilisateur.

Merci d'avance pour votre aide

Stéphan

3 réponses

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
6 mai 2005 à 11:39
Voilà ce code doit fonctionner comme tu le veux.

Dim msg As String, Intx As Integer
If LeNomDeMonChamp = "" Then
msg = "Merci de saisir vos données"
Intx = MsgBox (msg, vbYesNo + vbExclamation, "SAISIE INCOMPLETE"
If Intx = vbYes Then
LeNomDeMonChamp.SetFocus
Exit Sub
Else
Unload Me
End If

jpleroisse
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
6 mai 2005 à 11:40
PS: J'ai oublié, un 2ème End If, après le 1ér.

jpleroisse
0
Serialsiner Messages postés 15 Date d'inscription jeudi 10 juin 2004 Statut Membre Dernière intervention 23 septembre 2005
6 mai 2005 à 13:00
Merci beaucoup pour ton aide, ça marche !!!!

J'ai un peu modifié le code intuitivement pour avoir seulement un bouton OK, j'ai déclaré Intx comme booléen et j'ai mis une condition If Intx = True à la place, et ça a l'air de fonctionner correctement.

Merci encore.
Stéphan
0
Rejoignez-nous