VBA sur OptionButton

  • Initiateur de la discussion Initiateur de la discussion meldja
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

meldja

XLDnaute Impliqué
Bonjour,
Je cherche un code pour que lorsqu'aucun OptionButton n'est sélectionné,
message s'affiche et que je sorte du UserForm.
J'ai essayé le code suivant mais ça m'affiche toujours le msgbox et je sors du UserForm.

Dim n As Integer
Dim PlageHoraire As String
For n = 1 To 4
If Me.Controls("OptionButton" & n) = True Then

With Sheets(NomFeuille)
DerLig = .Cells(Rows.Count, VCol).End(xlUp).Row + 1
.Cells(DerLig, VCol).Value = DateValue(Me.TextBox3.Value)
'

If Me.OptionButton1 Or Me.OptionButton2 Then .Cells(DerLig + 2, VCol).Value = 2
If Me.OptionButton3 Or Me.OptionButton4 Then .Cells(DerLig + 2, VCol).Value = 1.5
PlageHoraire = Switch(OptionButton1, OptionButton1.Caption, OptionButton2, OptionButton2.Caption, _
OptionButton3, OptionButton3.Caption, OptionButton4, OptionButton4.Caption)
.Cells(DerLig + 1, VCol).Value = PlageHoraire
End With
Else
MsgBox "Vous n'avez pas coché de plage horaire !", , "ATTENTION !"
Exit Sub

End If
Next n

J'ai essayé de prendre le problème à l'envers mais rien à faire.
Si quelqu'un a une solution... j'ai pensé faire une boucle mais ce n'est peut être pas nécessaire. Ce que je veux est simple : si aucune OptionButton n'est coché alors msg d'erreur et sorti du UserForm, sinon que le reste fasse son chemin.
Merci d'avance
 
Re : VBA sur OptionButton

Bonjour,

test ce code:

Code:
Dim n As Integer
Dim PlageHoraire As String
Dim coche As Boolean

For n = 1 To 4
  If Me.Controls("OptionButton" & n) = True Then coche = True
Next n

If Not coche Then
MsgBox "Vous n'avez pas coché de plage horaire !", , "ATTENTION !"
Exit Sub
End If

With Sheets(NomFeuille)
DerLig = .Cells(Rows.Count, VCol).End(xlUp).Row + 1
.Cells(DerLig, VCol).Value = DateValue(Me.TextBox3.Value)
'

If Me.OptionButton1 Or Me.OptionButton2 Then .Cells(DerLig + 2, VCol).Value = 2
If Me.OptionButton3 Or Me.OptionButton4 Then .Cells(DerLig + 2, VCol).Value = 1.5
PlageHoraire = Switch(OptionButton1, OptionButton1.Caption, OptionButton2, OptionButton2.Caption, _
OptionButton3, OptionButton3.Caption, OptionButton4, OptionButton4.Caption)
.Cells(DerLig + 1, VCol).Value = PlageHoraire
End With
 
Re : VBA sur OptionButton

Merci,
Ca marche nickel, j'ai été obligé de déplacer plus en aval tes lignes de code parce que ça foutait le bordel ailleurs et j'avais un msg d'erreur (debug ????) j'ai oublié le code.
En tout cas après essaie de placer tes lignes ailleurs, tout roule.
J'ai appris encore grâce à toi. Merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
333
Réponses
2
Affichages
236
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
202
Réponses
5
Affichages
270
Réponses
3
Affichages
688
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
590
Réponses
3
Affichages
301
Réponses
10
Affichages
452
Retour