OVH Cloud OVH Cloud

Obliger un utilisateur à remplir le UserForm

16 réponses
Avatar
melou_qc
Bonjour =E0 tous!

Je commence tout de suite par vous dire un GROS MERCI. Je viens
r=E9guli=E8rement chercher de l'information dans ces groupes mais cette
fois, je ne trouve pas.

Voici mon probl=E8me :
J'ai cr=E9=E9 un UserForm1 qui contient des TextBox, ComboBox et des
OptionButton (dans un Frame). L'utilisateur rempli mon formulaire et
les donn=E9es sont inscrites dans diff=E9rentes case de ma feuille. Jusque
l=E0, je suis OK.

Avec un bouton, lorsque l'utilisateur a termin=E9 de remplir le
formulaire, je souhaite m'assurer que toutes les informations ont bien
=E9t=E9 entr=E9es. Pour les TextBox et les ComboBox je crois que c'est OK..=
.
du moins =E7a fonctionne. Cependant, pour les OptionButton je n'ai
aucune id=E9e...

De plus, juste pour mettre un peu de piquant, j'ai un TextBox qui doit
=EAtre rempli uniquement si la r=E9ponse de ma ComboBox est "Autre".
J'imagine qu'il y aura une exception pour cette v=E9rification...

Voici le code que j'ai jusqu'=E0 pr=E9sent pour ma validation (que j'ai
r=E9ussi =E0 =E9crire avec les diff=E9rents groupes) :

Private Sub CommandButton2_Click()
If Controls("Textbox1") =3D "" Then
MsgBox "Vous devez ABSOLUMENT indiquer le nom de la personne!",
vbExclamation, _
"ERREUR ... un nom S.V.P."
Controls("Textbox1").SetFocus
Exit Sub
End If
[f31] =3D UserForm1.TextBox1
****
If Controls("ComboBox1") =3D "" Then
MsgBox "Vous devez ABSOLUMENT indiquer le secteur!", vbExclamation, _
"ERREUR ... un secteur S.V.P."
Controls("ComboBox1").SetFocus
Exit Sub
End If
[j49] =3D UserForm1.ComboBox1
***
End Sub


Merci =E0 l'avance pour votre aide.
Melou

6 réponses

1 2
Avatar
lSteph
..re Ouppsss

Voici le bon

http://cjoint.com/?ifrQM4TTgC
Avatar
dunkelzahn
Bonjour,

C'est exactement le même type de code que j'ai fait lol.

On 5 août, 12:27, lSteph wrote:
Bonjour,

Une idée certes qui ne concerne pas directement le contrôle de
validation
mais qui s'avère utile de longue date, voici en  référence:

http://www.excelabo.net/excel/macroslancer.php#forcermacros

;-)

--
lSteph

On 5 août, 10:48, dunkelzahn wrote:



> Hello,

> Je fais également un classeur où beaucoup de choses passent par des
> userforms ou des automatismes par programmation VBA. Comme, le code
> VBA et les userforms peuvent être désactivées par des otions de
> sécurité, j'ai eu l'idée de créer une page blanche spéciale a vec un
> texte qui est affichée par défaut puis enregistrée au moment de l a
> fermeture. Cette fenêtre cache les autres feuilles présentes. A
> l'ouverture du classeur, si le VBA est activé, cette feuille est
> cachée et les autres réactivées. Si ca peut t'aider dans ton syst ème
> melou_qc...

> On 4 août, 22:31, LSteph wrote:

> > Bonsoir,

> > C'est déjà un grand bien que tu souhaites mettre un contrôle de saisie
> > sur un userform destiné à cet usage, alors que c'est autant une évidence
> > que souvent laissé pour compte.

> > Il me semble pouvoir déjà t'apporter une idée pour ceci:
> >  > De plus, juste pour mettre un peu de piquant, j'ai un TextBox qu i doit
> >  > être rempli uniquement si la réponse de ma ComboBox est "Aut re".

> > Dans ton initialize mets le textbox.visible à False
> > et dans le Change du Combo conditionne le True à "Autre"

> > @+

> > --
> > lSteph

> > melou_qc a écrit :

> > > Bonjour à tous!

> > > Je commence tout de suite par vous dire un GROS MERCI. Je viens
> > > régulièrement chercher de l'information dans ces groupes mais c ette
> > > fois, je ne trouve pas.

> > > Voici mon problème :
> > > J'ai créé un UserForm1 qui contient des TextBox, ComboBox et de s
> > > OptionButton (dans un Frame). L'utilisateur rempli mon formulaire e t
> > > les données sont inscrites dans différentes case de ma feuille. Jusque
> > > là, je suis OK.

> > > Avec un bouton, lorsque l'utilisateur a terminé de remplir le
> > > formulaire, je souhaite m'assurer que toutes les informations ont b ien
> > > été entrées. Pour les TextBox et les ComboBox je crois que c' est OK...
> > > du moins ça fonctionne. Cependant, pour les OptionButton je n'ai
> > > aucune idée...

> > > De plus, juste pour mettre un peu de piquant, j'ai un TextBox qui d oit
> > > être rempli uniquement si la réponse de ma ComboBox est "Autre" .
> > > J'imagine qu'il y aura une exception pour cette vérification...

> > > Voici le code que j'ai jusqu'à présent pour ma validation (que j'ai
> > > réussi à écrire avec les différents groupes) :

> > > Private Sub CommandButton2_Click()
> > > If Controls("Textbox1") = "" Then
> > > MsgBox "Vous devez ABSOLUMENT indiquer le nom de la personne!",
> > > vbExclamation, _
> > > "ERREUR ... un nom S.V.P."
> > > Controls("Textbox1").SetFocus
> > > Exit Sub
> > > End If
> > > [f31] = UserForm1.TextBox1
> > > ****
> > > If Controls("ComboBox1") = "" Then
> > > MsgBox "Vous devez ABSOLUMENT indiquer le secteur!", vbExclamation, _
> > > "ERREUR ... un secteur S.V.P."
> > > Controls("ComboBox1").SetFocus
> > > Exit Sub
> > > End If
> > > [j49] = UserForm1.ComboBox1
> > > ***
> > > End Sub

> > > Merci à l'avance pour votre aide.
> > > Melou- Masquer le texte des messages précédents -

> > - Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -

- Afficher le texte des messages précédents -


Avatar
lSteph
:o))
Sans Blague!...serait-ce un pur hasard?


> > ..., j'ai eu l'idée de créer


...s'il y a bon nombre à cet égard c'est sans doute que la méthode est
bonne.

Dans les archives du forum il y a une version de MichDenis qui est
assez top!

@+

--
lSteph

On 6 août, 10:09, dunkelzahn wrote:
Bonjour,

C'est exactement le même type de code que j'ai fait lol.

On 5 août, 12:27, lSteph wrote:

> Bonjour,

> Une idée certes qui ne concerne pas directement le contrôle de
> validation
> mais qui s'avère utile de longue date, voici en référence:

>http://www.excelabo.net/excel/macroslancer.php#forcermacros

> ;-)

> --
> lSteph

> On 5 août, 10:48, dunkelzahn wrote:

> > Hello,

> > Je fais également un classeur où beaucoup de choses passent par d es
> > userforms ou des automatismes par programmation VBA. Comme, le code
> > VBA et les userforms peuvent être désactivées par des otions de
> > sécurité, j'ai eu l'idée de créer une page blanche spéciale avec un
> > texte qui est affichée par défaut puis enregistrée au moment de la
> > fermeture. Cette fenêtre cache les autres feuilles présentes. A
> > l'ouverture du classeur, si le VBA est activé, cette feuille est
> > cachée et les autres réactivées. Si ca peut t'aider dans ton sy stème
> > melou_qc...

> > On 4 août, 22:31, LSteph wrote:

> > > Bonsoir,

> > > C'est déjà un grand bien que tu souhaites mettre un contrôle de saisie
> > > sur un userform destiné à cet usage, alors que c'est autant une évidence
> > > que souvent laissé pour compte.

> > > Il me semble pouvoir déjà t'apporter une idée pour ceci:
> > > > De plus, juste pour mettre un peu de piquant, j'ai un TextBox qu i doit
> > > > être rempli uniquement si la réponse de ma ComboBox est "Aut re".

> > > Dans ton initialize mets le textbox.visible à False
> > > et dans le Change du Combo conditionne le True à "Autre"

> > > @+

> > > --
> > > lSteph

> > > melou_qc a écrit :

> > > > Bonjour à tous!

> > > > Je commence tout de suite par vous dire un GROS MERCI. Je viens
> > > > régulièrement chercher de l'information dans ces groupes mais cette
> > > > fois, je ne trouve pas.

> > > > Voici mon problème :
> > > > J'ai créé un UserForm1 qui contient des TextBox, ComboBox et des
> > > > OptionButton (dans un Frame). L'utilisateur rempli mon formulaire et
> > > > les données sont inscrites dans différentes case de ma feuill e. Jusque
> > > > là, je suis OK.

> > > > Avec un bouton, lorsque l'utilisateur a terminé de remplir le
> > > > formulaire, je souhaite m'assurer que toutes les informations ont bien
> > > > été entrées. Pour les TextBox et les ComboBox je crois que c'est OK...
> > > > du moins ça fonctionne. Cependant, pour les OptionButton je n'a i
> > > > aucune idée...

> > > > De plus, juste pour mettre un peu de piquant, j'ai un TextBox qui doit
> > > > être rempli uniquement si la réponse de ma ComboBox est "Autr e".
> > > > J'imagine qu'il y aura une exception pour cette vérification...

> > > > Voici le code que j'ai jusqu'à présent pour ma validation (qu e j'ai
> > > > réussi à écrire avec les différents groupes) :

> > > > Private Sub CommandButton2_Click()
> > > > If Controls("Textbox1") = "" Then
> > > > MsgBox "Vous devez ABSOLUMENT indiquer le nom de la personne!",
> > > > vbExclamation, _
> > > > "ERREUR ... un nom S.V.P."
> > > > Controls("Textbox1").SetFocus
> > > > Exit Sub
> > > > End If
> > > > [f31] = UserForm1.TextBox1
> > > > ****
> > > > If Controls("ComboBox1") = "" Then
> > > > MsgBox "Vous devez ABSOLUMENT indiquer le secteur!", vbExclamatio n, _
> > > > "ERREUR ... un secteur S.V.P."
> > > > Controls("ComboBox1").SetFocus
> > > > Exit Sub
> > > > End If
> > > > [j49] = UserForm1.ComboBox1
> > > > ***
> > > > End Sub

> > > > Merci à l'avance pour votre aide.
> > > > Melou- Masquer le texte des messages précédents -

> > > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -

> - Afficher le texte des messages précédents -


Avatar
melou_qc
Bonjour Steph!

J'ai essayé ton code, adapté à mes paramètres.... ET ÇA FONCTIONN E!

Merci beaucoup!

Maintenant, il me reste juste à trouver comment obliger une réponse
dans un Frame avec des OptionButtons... Est-ce que tu as une idée ou
une piste?

Merci encore.

Melou
Avatar
LSteph
Bonjour,

soit tu garde le même principe,
si tu veux forcer un choix mets une combo à la place et
sinon garde tes optionbutton mais mets une option par défaut la plus
courante dans l'initialize
comme cela il y a forcément un choix si l'utilisateur n'en fait pas
tant pis pour lui, c'est que ça lui convient.

@+

lSteph

melou_qc a écrit :
Bonjour Steph!

J'ai essayé ton code, adapté à mes paramètres.... ET ÇA FONCTIONNE!

Merci beaucoup!

Maintenant, il me reste juste à trouver comment obliger une réponse
dans un Frame avec des OptionButtons... Est-ce que tu as une idée ou
une piste?

Merci encore.

Melou


Avatar
melou_qc
Merci Steph!

Je vais réfléchir si ça pourrait faire l'affaire...

J'ai beaucoup apprécié ton aide.

Bonne journée!

Mélou
1 2