Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

OptionBoutton

5 réponses
Avatar
STEN
Bonjour,=20
Dans un USF j'ai plac=E9 12 boutons d'options, comment=20
emp=EAcher la fermeture de l'usf si aucun bouton n'est=20
s=E9lectionn=E9?

le code du bouton VALIDER

Private Sub CmdValid_Click()
If OptJanvier.Value =3D True Then
JANVIER.Activate
End If
If OptFevrier.Value =3D True Then
FEVRIER.Activate
End If
If OptMars.Value =3D True Then
MARS.Activate
End If
If OptAvril.Value =3D True Then
AVRIL.Activate
End If
If OptMai.Value =3D True Then
MAI.Activate
End If
If OptJuin.Value =3D True Then
JUIN.Activate
End If
If Optjuillet.Value =3D True Then
JUILLET.Activate
End If
If OptAout.Value =3D True Then
AOUT.Activate
End If
If OptSeptembre.Value =3D True Then
SEPTEMBRE.Activate
End If
If OptOctobre.Value =3D True Then
OCTOBRE.Activate
End If
If OptNovembre.Value =3D True Then
NOVEMBRE.Activate
End If
If OptDecembre.Value =3D True Then
DECEMBRE.Activate
End If
Unload Me
NEWDONNE.Show
End Sub

5 réponses

Avatar
LeSteph
Une idée débile mais qui sait pour 12 occurences de If
peut être vaut-il d'utiliser Case ...bon c'est fait..

si le User form est displayed il faut le clore ...
sans ok ni annuler ?§
pas d'autre salut hors Break ou CtrlPause ou Echap d prog sans s'en
sortir
avec la tenta tion d'utiliser ce qui reste à bord ... un des controls des 12
mois...

LeSteph


"STEN" a écrit dans le message de
news:590e01c42d5d$e496c0f0$
Bonjour,
Dans un USF j'ai placé 12 boutons d'options, comment
empêcher la fermeture de l'usf si aucun bouton n'est
sélectionné?

le code du bouton VALIDER

Private Sub CmdValid_Click()
If OptJanvier.Value = True Then
JANVIER.Activate
End If
If OptFevrier.Value = True Then
FEVRIER.Activate
End If
If OptMars.Value = True Then
MARS.Activate
End If
If OptAvril.Value = True Then
AVRIL.Activate
End If
If OptMai.Value = True Then
MAI.Activate
End If
If OptJuin.Value = True Then
JUIN.Activate
End If
If Optjuillet.Value = True Then
JUILLET.Activate
End If
If OptAout.Value = True Then
AOUT.Activate
End If
If OptSeptembre.Value = True Then
SEPTEMBRE.Activate
End If
If OptOctobre.Value = True Then
OCTOBRE.Activate
End If
If OptNovembre.Value = True Then
NOVEMBRE.Activate
End If
If OptDecembre.Value = True Then
DECEMBRE.Activate
End If
Unload Me
NEWDONNE.Show
End Sub
Avatar
Benead
Bonsoir Sten,

Dans le même module que le bouton VALIDER, tu mets ce code :


Private Function ControlOption()
Dim Ctrl As Control
For Each Ctrl In Me.Controls
If TypeName(Ctrl) = "OptionButton" Then
If Ctrl.Value = True Then ControlOption = True: Exit Function
End If
Next Ctrl
MsgBox "Au moins un bouton d'option doit être sélectionné !" ' Ligne facultative
ControlOption = False
End Function

Et sous la ligne
Private Sub CmdValid_Click()
tu mets :
If ControlOption then exit sub

D'autre part, si tu nous dis à quoi correspond les Mois (Worksheet, Range, Workbook...) dans ton code, on pourra le réduire de façon conséquente.

--
A+
Benead
Bretagne
Xl97
-------- ;-)
STEN a écrit:
Bonjour,
Dans un USF j'ai placé 12 boutons d'options, comment
empêcher la fermeture de l'usf si aucun bouton n'est
sélectionné?

le code du bouton VALIDER

Private Sub CmdValid_Click()
If OptJanvier.Value = True Then
JANVIER.Activate
End If
If OptFevrier.Value = True Then
FEVRIER.Activate
End If
If OptMars.Value = True Then
MARS.Activate
End If
If OptAvril.Value = True Then
AVRIL.Activate
End If
If OptMai.Value = True Then
MAI.Activate
End If
If OptJuin.Value = True Then
JUIN.Activate
End If
If Optjuillet.Value = True Then
JUILLET.Activate
End If
If OptAout.Value = True Then
AOUT.Activate
End If
If OptSeptembre.Value = True Then
SEPTEMBRE.Activate
End If
If OptOctobre.Value = True Then
OCTOBRE.Activate
End If
If OptNovembre.Value = True Then
NOVEMBRE.Activate
End If
If OptDecembre.Value = True Then
DECEMBRE.Activate
End If
Unload Me
NEWDONNE.Show
End Sub



Avatar
Clément Marcotte
Bonjour,

Tu mets des 12 boutons dans un cadre (Frame). Tu en mets 11 à false et
1 à true. Celui qui est à True reste sélectionné par défaut.


"STEN" a écrit dans le message de
news:590e01c42d5d$e496c0f0$
Bonjour,
Dans un USF j'ai placé 12 boutons d'options, comment
empêcher la fermeture de l'usf si aucun bouton n'est
sélectionné?

le code du bouton VALIDER

Private Sub CmdValid_Click()
If OptJanvier.Value = True Then
JANVIER.Activate
End If
If OptFevrier.Value = True Then
FEVRIER.Activate
End If
If OptMars.Value = True Then
MARS.Activate
End If
If OptAvril.Value = True Then
AVRIL.Activate
End If
If OptMai.Value = True Then
MAI.Activate
End If
If OptJuin.Value = True Then
JUIN.Activate
End If
If Optjuillet.Value = True Then
JUILLET.Activate
End If
If OptAout.Value = True Then
AOUT.Activate
End If
If OptSeptembre.Value = True Then
SEPTEMBRE.Activate
End If
If OptOctobre.Value = True Then
OCTOBRE.Activate
End If
If OptNovembre.Value = True Then
NOVEMBRE.Activate
End If
If OptDecembre.Value = True Then
DECEMBRE.Activate
End If
Unload Me
NEWDONNE.Show
End Sub
Avatar
STEN
-----Message d'origine-----
Bonjour,

Tu mets des 12 boutons dans un cadre (Frame). Tu en mets
11 à false et

1 à true. Celui qui est à True reste sélectionné par
défaut.



"STEN" a écrit dans le message de
news:590e01c42d5d$e496c0f0$
Bonjour,
Dans un USF j'ai placé 12 boutons d'options, comment
empêcher la fermeture de l'usf si aucun bouton n'est
sélectionné?

le code du bouton VALIDER

Private Sub CmdValid_Click()
If OptJanvier.Value = True Then
JANVIER.Activate
End If
If OptFevrier.Value = True Then
FEVRIER.Activate
End If
If OptMars.Value = True Then
MARS.Activate
End If
If OptAvril.Value = True Then
AVRIL.Activate
End If
If OptMai.Value = True Then
MAI.Activate
End If
If OptJuin.Value = True Then
JUIN.Activate
End If
If Optjuillet.Value = True Then
JUILLET.Activate
End If
If OptAout.Value = True Then
AOUT.Activate
End If
If OptSeptembre.Value = True Then
SEPTEMBRE.Activate
End If
If OptOctobre.Value = True Then
OCTOBRE.Activate
End If
If OptNovembre.Value = True Then
NOVEMBRE.Activate
End If
If OptDecembre.Value = True Then
DECEMBRE.Activate
End If
Unload Me
NEWDONNE.Show
End Sub

.Bonjour et merci a tous pour vos réponses, les bouton
d'options son des feuilles une pour chaque mois de

l'année.



Avatar
Benead
Salut Sten,

Puisque tes boutons d'options activent des feuilles (par le CodeName) tu peux remplacer ton code par celui-ci :

Private Sub CmdValid_Click()
Dim Ctrl As Control
For Each Ctrl In Me.Controls
If TypeName(Ctrl) = "OptionButton" Then
If Ctrl.Value = True Then
ThisWorkbook.VBProject.vbcomponents(Mid(Ctrl.Name, 4)).Activate
Unload Me
Exit Sub
NEWDONNE.Show
End If
End If
Next Ctrl
MsgBox "Au moins un bouton d'option doit être sélectionné !" ' Ligne facultative
End Sub


Chaque bouton d'option doit être nommé Optxxxx ou xxxx correspond au CodeName de chaque feuille (donc le mois).

--
A+
Benead
Bretagne
Xl97
-------- ;-)

PS : Mon Pseudo est Benead et non Bernard (suite mail perso)

STEN a écrit:
-----Message d'origine-----
Bonjour,

Tu mets des 12 boutons dans un cadre (Frame). Tu en mets


11 à false et

1 à true. Celui qui est à True reste sélectionné par


défaut.


"STEN" a écrit dans le message de
news:590e01c42d5d$e496c0f0$
Bonjour,
Dans un USF j'ai placé 12 boutons d'options, comment
empêcher la fermeture de l'usf si aucun bouton n'est
sélectionné?

le code du bouton VALIDER

Private Sub CmdValid_Click()
If OptJanvier.Value = True Then
JANVIER.Activate
End If
If OptFevrier.Value = True Then
FEVRIER.Activate
End If
If OptMars.Value = True Then
MARS.Activate
End If
If OptAvril.Value = True Then
AVRIL.Activate
End If
If OptMai.Value = True Then
MAI.Activate
End If
If OptJuin.Value = True Then
JUIN.Activate
End If
If Optjuillet.Value = True Then
JUILLET.Activate
End If
If OptAout.Value = True Then
AOUT.Activate
End If
If OptSeptembre.Value = True Then
SEPTEMBRE.Activate
End If
If OptOctobre.Value = True Then
OCTOBRE.Activate
End If
If OptNovembre.Value = True Then
NOVEMBRE.Activate
End If
If OptDecembre.Value = True Then
DECEMBRE.Activate
End If
Unload Me
NEWDONNE.Show
End Sub

.Bonjour et merci a tous pour vos réponses, les bouton


d'options son des feuilles une pour chaque mois de
l'année.