Forcer la sélection d'un "OptionButton"

Bonsoir le forum,

Je voudrais forcer la sélection d'un "OptionButton" dans le UserForm "U_CreatModif" auquel j'accède avec le bouton ajouter du UserForm "U_Liste".

J'ai pensé qu'un simple copier coller du code présent dans le UserForm "U_NonMembre" ferait l'affaire, mais apparament, je me suis fourré le doigt dans l'oeil...

Pouvez vous m'aider à le faire...?

Le code en question:

'************************************************************************

' Pour le bouton "Ajouter"

'************************************************************************

Private Sub Button1_Click()

For L = 2 To 12

If Controls("TextBox" & L).Value = "" And Controls("TextBox" & L).Tag = "O" Then '????????????????

MsgBox Data.Range("J" & L + 1).Value, vbOKOnly + vbCritical, "Alerte" ' Bouton OK uniquement (valeur par défaut) et Message critique

' MsgBox "Vous n'avez pas rempli ce champ", vbOKOnly + vbCritical, "Alerte"

Controls("TextBox" & L).SetFocus ' Met le contrôle sur la TextBox concernée

Exit Sub

End If

Next

' For L = 1 To 3

' If Controls("TextBox" & L).Value = "" And Controls("TextBox" & L).Tag = "O" Then

' If L = 3 Then

' MsgBox "Choisir un sexe"

' Else

' MsgBox "Vous n'avez pas rempli ce champ", vbOKOnly + vbCritical, "Alerte"

' Controls("TextBox" & L).SetFocus

' End If

' Exit Sub

' End If

' Next

Nlig = Sh.Range("B" & Rows.Count).End(xlUp).Row + 1

Sh.Cells(Nlig, 1).Value = Val(TextBox1.Value)

CreateModif Nlig

Unload Me

End Sub

Une petite explication du pourquoi ça ne marche pas serait très appréciée.

Merci de votre aide...

Mon ficheir joint

Bonsoir,

Les OptionButtons sont bien cachés dans le code...

Remarque : Code non indenté.

Cordialement.

Bonjour Atlonia

Tu n'as pas une ligne de code qui parle de "OptionButton" donc comment veux tu que cela fonctionne !?

Pour qu'un OptionButton soit sélectionné, il suffit de mettre sa valeur à vrai dans les propriétés

2017 07 30 04h11 03

Bonjour MFerrand,

Avant tout, j'ai beaucoup apprécié ton explication concernant l'objet "Application" dans un autre de mes post...

MFerrand a écrit :

Bonsoir,

Les OptionButtons sont bien cachés dans le code...

Remarque : Code non indenté.

Cordialement.

Les OptionButtons sont cachés dans le code du UserForm "U_CreatModif" en millieu de code avant et dans la section "Configuration des différentes TextBox", c'est vrai que j'ai regroupé tout les objets du UserForm sous le terme "TextBox", alors que ce n'en sont pas...

Je vais rectifier ça...!

Mais, "Code non indenter", je comprend pas...

Peux tu m'expliquer STP ?

A bientôt de te lire...


Tu n'as pas une ligne de code qui parle de "OptionButton" donc comment veux tu que cela fonctionne !?

Pour qu'un OptionButton soit sélectionné, il suffit de mettre sa valeur à vrai dans les propriétés

Les OptionButtons sont cachés dans le code du UserForm "U_CreatModif" en millieu de code avant et dans la section "Configuration des différentes TextBox", c'est vrai que j'ai regroupé tout les objets du UserForm sous le terme "TextBox", alors que ce n'en sont pas...

Je vais rectifier ça...!

J'ai essayé, mais ça n'oblige pas la sélection...!

Ce que je veux, c'est obliger l'utilisateur à sélectionner un des deux "OptionButton" avant de pouvoir validetr par "Inscrire"

Merci de t'intéresser à mon problème...

Une autre idée peut être...

Merci encore, A+

Bonjour,

c'est vrai que j'ai regroupé tout les objets du UserForm sous le terme "TextBox", alors que ce n'en sont pas...

Il m'arrive de regrouper des contrôles de types différents sous un même nom générique, mais dans ce cas il vaut mieux ne pas choisir un terme indiquant un type de contrôle pour les désigner, ce qui peut induire en erreur ultérieurement...

Ceci dit, je ne vois pas où est le problème, soit tu veux forcer la sélection d'une option (car on suppose que ce n'est pas le bouton que tu veux sélectionner ! ), et tu définis la valeur par défaut du bouton lié à cette option à True, comme l'a indiqué Bruno, soit tu veux forcer l'utilisateur à sélectionner une option et dans ce cas tu ne donnes cours à la validation que si une option a été sélectionnée, on est alors dans le cas des contrôles à opérer avant validation...

Si c'est la question du comment faire ce contrôle que tu te poses, c'est toujours un classique : une boucle sur les OptionButtons t'indiquera celui qui est à True (il ne peut y en avoir qu'un...) et s'il n'y en a pas tu ne valides pas !

bonjour

hum déjà mettre un Tag sur la Textbox11.Tag = "O"

qui sert pour la saisie obligatoire

A+

Maurice

bonjour

retour de ton fichier modifier

A+

Maurice

Bonsoir archer,

Merci beaucoup pour la correction de mon fichier....

Qu'as tu fait pour que ça fonctionne ? j'aimerais savoir pour ne pas mourir idiot...lol

Je ne vois pas de textBox11 dans mon fichier...!!

tu veux sans doute parler de la textBox1 (ID), Je n'y avais pas fait attention...!

archer a écrit :

bonjour

hum déjà mettre un Tag sur la Textbox11.Tag = "O"

qui sert pour la saisie obligatoire

A+

Maurice

Merci encore de ton aide

A+

Bonsoir MFerrand,

Merci pour cette info, je ne le savais pas...

Je n'ai que 3 mois environ de VBA, beaucoup de lecture sur le Web, et votre aide précieuse, J'ai pas mal dégrossi le sujet, mais ne maîtrise pas encore toutes les ficelles de ce langage...

Je ferai certainement encore beaucoup d'erreurs et compte sur votre indulgence pour continuer à me soutenir dans mon apprentissage, car je ne désespère pas d'y arriver.

soit tu veux forcer la sélection d'une option et tu définis la valeur par défaut du bouton lié à cette option à True, comme l'a indiqué Bruno, soit tu veux forcer l'utilisateur à sélectionner une option et dans ce cas tu ne donnes cours à la validation que si une option a été sélectionnée, on est alors dans le cas des contrôles à opérer avant validation...

Si c'est la question du comment faire ce contrôle que tu te poses, c'est toujours un classique : une boucle sur les OptionButtons t'indiquera celui qui est à True (il ne peut y en avoir qu'un...) et s'il n'y en a pas tu ne valides pas !

Merci encore d'être là pour nous dispenser votre enseignement...

A+ sur d'autres posts.

bonjour

tu regarde déjà dans la feuille data colonne H la tu peux mettre la lettre O

et tu a une boucle dans U_CreatModif

' A quoi sert le Tag ? pour la saisie Obligatoire

For C = 2 To 16

Controls("TextBox" & C).Tag = Data.Range("H" & C + 1) ' Récupère le Tag des "TextBox" feuille "Data" colonne "H"

Next

Voila

A+

Maurice

bonjour

encore des modifes HI

dans U_CreatModif

Sub CreateModif(Lig)

' modification pour le format de la date

For C = 2 To 16

Select Case C

Case 10

Sh.Cells(Lig, C).Value = CDate(Controls("TextBox" & C).Value)

Case Else

Sh.Cells(Lig, C).Value = Controls("TextBox" & C).Value

End Select

Next

End Sub

et dans U_Liste a toi de voir ci ça te va

A+

Maurice

Rechercher des sujets similaires à "forcer selection optionbutton"