Forcer le remplissage d'un userform

SERIEUXETCOOL

XLDnaute Occasionnel
(Une nouvelle fois dsl si je ne poste pas mon message au bon endroit)

Bonjour à tous,

J'ai un petit problème qui concerne les userforms. Voila je créé un userform très basique qui contient à l'intérieur :

- Une textbox
-3 optionbuttons séparrés (Ce n'est pas un frame mais 3 optionbuttons non regroupés)
-Et un commandclik (bouton validation de formulaire)

Dans une Macro Excel (Office 2007), je souhaite faire afficher cet userform sur la feuille Excel et laisser à l'utilisateur L'OBLIGATION de faire un choix parmi les 3 optionbutton (un seul et unique choix parmi les 3 bien évidement) puis de remplir une valeur numérique décimale dans la textbox. Enfin la validation se fait en cliquant sur le bouton de validation.

Jusque la pas trop de problème pour moi.

-Le problème se pose lors de la validation de l'userform quand je clique sur le bouton de validation. J'aimerais empêcher la poursuite du programme tant qu'une valeur correcte ne sois pas rentrée dans la textbox ET qu'au moins un choix parmi les 3 optionsbuttons ne sois coché.
Si ces conditions ne sont pas remplies, alors afficher un message annonçant qu'il faut sois remplir une valeur sois faire un choix ou les deux suivant ce que l’utilisateur à déjà rempli.

-De plus j'aimerais supprimer l'affichage de la croix rouge de l'userform de manière à ce que l'utilisateur ne sois pas tenter pour abandonner l'étape de remplissage. En gros, l'userform s'affiche à l'écran, et l'utilisateur ne peut s'en sortir qu'après avoir remplis une valeur ET coché une case Et validé par le bouton de validation. Si les conditions sont remplies alors la fenêtre se ferme et la macro suis son cours.


Suis je clair ? Pour plus d'infos je suis la. C'est vraiment très basique, pourtant je n'y parviens pas.

Merci pour vos lumières,

André
 

SERIEUXETCOOL

XLDnaute Occasionnel
Re : Forcer le remplissage d'un userform

Le critère pour que la TexBox sois correcte est :

-Ne pas être vide
-Une valeur numérique et/ou décimale (ex : 2 ou 0,0032)
- Utiliser sois la virgule sois le point pour les décimales et prohiber l'autre (Virgule de préférence pour Excel je pense ???)


Voila les conditions
 

SERIEUXETCOOL

XLDnaute Occasionnel
Re : Forcer le remplissage d'un userform

Bonjour Robert,

Alors ta première version fonctionne déjà très bien !!!

Déjà la forme de l'useform est correcte. De plus il faut choisir une des 3 trois options pour poursuivre. Très bien. Je n'y étais pas arrivé depuis ce matin !!!
De plus j'ai remarqué que l'on ne peut pas sortir de l'userform en cliquant sur la croix. Excellent sa aussi.

Par contre, si on fait valider sans avoir entrer de valeur dans la TexBox alors on quitte. Mais on ne devrait pas quitter sans avoir entrer une valeur correcte. "Valeur correcte" que j'ai précisé dans mon précédent post. Tu n'a pas eu le tps de l’apercevoir je le sais.

Ne reste plus que ce détail et sa répondra de manière parfaite me semble t'il

Pour aide j'utilise cette focntion pour vérifier qu'il s'agisse bien d'un nombre, décimale ou pas avec virgule et non un point :
Private Sub TextBox1_Change()
On Error Resume Next

If Not IsNumeric(Right(TextBox1, 1)) And Right(TextBox1, 1) <> "," Then
MsgBox "Le caractere saisi n'est pas valide"
TextBox1 = Left(TextBox1, Len(TextBox1) - 1)
End If
End Sub


Cordialement,

André
 

SERIEUXETCOOL

XLDnaute Occasionnel
Re : Forcer le remplissage d'un userform

Merci merci Robert !!!

C'est très gentil de ta part de m'avoir aidé et surtout pour la rigueur et la rapidité de tes réponses.

Je suis bulfé la. Depuis ce matin que je me casse la tête dessus. J'ai vu ton code qui traite la texbox...Je n'y serais pas arrivé tout seul. Je suis trop débutant pour sortir un code comme sa. Mais au moins grâce à toi je progresse et je comprends.

Je peux maintenant adapter sans soucis cet userform pour ma macro personnelle. Je vais faire un peu de mise en forme générale de l'userform et puis rouler on injecte !!!

Encore merci, et bonne journée

Je vais clore cette discussion
 

Discussions similaires

Réponses
2
Affichages
326
Réponses
3
Affichages
370

Statistiques des forums

Discussions
312 391
Messages
2 087 985
Membres
103 690
dernier inscrit
LeDuc