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

OptionBoutton .. (mais option imposée)

4 réponses
Avatar
Daniel
Bonjour,

Comment tester lors de la validation (clic sur CommandBoutton2) qu'un
OptionBoutton a été sélectionné ?
Le code ci-dessous (merci au passage à SilkyRoad de developpez.com) le
contrôle bien et il affiche la MsgBox indiquant que la saisie n'a pas
été faite, mais ensuite il passe au USF2 sans laisser la possibilité de
saisir sur le USF1.
Qu'est-ce qui cloche ?

Merci d'avance
Daniel

Private Sub CommandButton2_Click()

Dim Ctrl As Control
'Boucle sur tous les contrôles
For Each Ctrl In Me.Controls
'Vérifie qu'il s'agit d'un OptionButton
If TypeOf Ctrl Is MSForms.OptionButton Then
'Véfifie si l'OptionButton fait partie d'un groupe nommé "GR1"
If Ctrl.GroupName = "GR1" Then
'Transfert le Caption de l'optionButton qui a la valeur True
If Ctrl.Value = True Then
Sheets("Feuil1").Range("A1").Value = Ctrl.Caption
'Sort de la boucle (il ne peut y a voir qu'une
'réponse à True)
Exit For
End If
End If
End If
Next

If Range("B2").Value = "" Then
MsgBox " Vous n'avez pas saisi votre choix "
Cancel = True
End If

USF1.Hide
USF2.Show

End Sub

4 réponses

Avatar
Daniel.C
Bonjour.
Esssaie :

Sub test()
Private Sub CommandButton2_Click()

Dim Ctrl As Control
'Boucle sur tous les contrôles
For Each Ctrl In Me.Controls
'Vérifie qu'il s'agit d'un OptionButton
If TypeOf Ctrl Is MSForms.OptionButton Then
'Véfifie si l'OptionButton fait partie d'un groupe nommé "GR1"
If Ctrl.GroupName = "GR1" Then
'Transfert le Caption de l'optionButton qui a la valeur True
If Ctrl.Value = True Then
Sheets("Feuil1").Range("A1").Value = Ctrl.Caption
'Sort de la boucle (il ne peut y a voir qu'une
'réponse à True)
Exit For
End If
End If
End If
Next

If Range("B2").Value = "" Then
MsgBox " Vous n'avez pas saisi votre choix "
Cancel = True
Exit Sub
End If

USF1.Hide
USF2.Show

End Sub

Cordialement.
Daniel


Bonjour,

Comment tester lors de la validation (clic sur CommandBoutton2) qu'un
OptionBoutton a été sélectionné ?
Le code ci-dessous (merci au passage à SilkyRoad de developpez.com) le
contrôle bien et il affiche la MsgBox indiquant que la saisie n'a pas été
faite, mais ensuite il passe au USF2 sans laisser la possibilité de saisir
sur le USF1.
Qu'est-ce qui cloche ?

Merci d'avance
Daniel

Private Sub CommandButton2_Click()

Dim Ctrl As Control
'Boucle sur tous les contrôles
For Each Ctrl In Me.Controls
'Vérifie qu'il s'agit d'un OptionButton
If TypeOf Ctrl Is MSForms.OptionButton Then
'Véfifie si l'OptionButton fait partie d'un groupe nommé "GR1"
If Ctrl.GroupName = "GR1" Then
'Transfert le Caption de l'optionButton qui a la valeur True
If Ctrl.Value = True Then
Sheets("Feuil1").Range("A1").Value = Ctrl.Caption
'Sort de la boucle (il ne peut y a voir qu'une
'réponse à True)
Exit For
End If
End If
End If
Next

If Range("B2").Value = "" Then
MsgBox " Vous n'avez pas saisi votre choix "
Cancel = True
End If

USF1.Hide
USF2.Show

End Sub


Avatar
Daniel
Bonjour,

Merci.
Je peux maintenent saisir mais il ne me laisse plus sortir.
Malgré le choix, il continue à m'afficher la MsgBox. La valeur de
l'OptionButton a pourtant bien été transférée.

Daniel



Daniel.C a écrit :
Bonjour.
Esssaie :

Sub test()
Private Sub CommandButton2_Click()

Dim Ctrl As Control
'Boucle sur tous les contrôles
For Each Ctrl In Me.Controls
'Vérifie qu'il s'agit d'un OptionButton
If TypeOf Ctrl Is MSForms.OptionButton Then
'Véfifie si l'OptionButton fait partie d'un groupe nommé "GR1"
If Ctrl.GroupName = "GR1" Then
'Transfert le Caption de l'optionButton qui a la valeur True
If Ctrl.Value = True Then
Sheets("Feuil1").Range("A1").Value = Ctrl.Caption
'Sort de la boucle (il ne peut y a voir qu'une
'réponse à True)
Exit For
End If
End If
End If
Next

If Range("A1").Value = "" Then
MsgBox " Vous n'avez pas saisi votre choix "
Cancel = True
Exit Sub
End If

USF1.Hide
USF2.Show

End Sub

Cordialement.
Daniel


Bonjour,

Comment tester lors de la validation (clic sur CommandBoutton2) qu'un
OptionBoutton a été sélectionné ?
Le code ci-dessous (merci au passage à SilkyRoad de developpez.com) le
contrôle bien et il affiche la MsgBox indiquant que la saisie n'a pas
été faite, mais ensuite il passe au USF2 sans laisser la possibilité
de saisir sur le USF1.
Qu'est-ce qui cloche ?

Merci d'avance
Daniel

Private Sub CommandButton2_Click()

Dim Ctrl As Control
'Boucle sur tous les contrôles
For Each Ctrl In Me.Controls
'Vérifie qu'il s'agit d'un OptionButton
If TypeOf Ctrl Is MSForms.OptionButton Then
'Véfifie si l'OptionButton fait partie d'un groupe nommé "GR1"
If Ctrl.GroupName = "GR1" Then
'Transfert le Caption de l'optionButton qui a la valeur True
If Ctrl.Value = True Then
Sheets("Feuil1").Range("A1").Value = Ctrl.Caption
'Sort de la boucle (il ne peut y a voir qu'une
'réponse à True)
Exit For
End If
End If
End If
Next

If Range("A1").Value = "" Then
MsgBox " Vous n'avez pas saisi votre choix "
Cancel = True
End If

USF1.Hide
USF2.Show

End Sub







Avatar
Daniel.C
Est-ce que A1 est bien vide quand aucun option button n'est rempli ?
Si oui, essaie :

Private Sub CommandButton2_Click()

Dim Ctrl As Control, OK As Boolean
'Boucle sur tous les contrôles
For Each Ctrl In Me.Controls
'Vérifie qu'il s'agit d'un OptionButton
If TypeOf Ctrl Is MSForms.OptionButton Then
'Véfifie si l'OptionButton fait partie d'un groupe nommé "GR1"
If Ctrl.GroupName = "GR1" Then
'Transfert le Caption de l'optionButton qui a la valeur True
If Ctrl.Value = True Then
OK = True
Sheets("Feuil1").Range("A1").Value = Ctrl.Caption
'Sort de la boucle (il ne peut y a voir qu'une
'réponse à True)
Exit For
End If
End If
End If
Next

If OK = False Then
MsgBox " Vous n'avez pas saisi votre choix "
Cancel = True
Exit Sub
End If

USF1.Hide
USF2.Show

End Sub

ou

Private Sub CommandButton2_Click()

Dim Ctrl As Control, OK As Boolean
'Boucle sur tous les contrôles
For Each Ctrl In Me.Controls
'Vérifie qu'il s'agit d'un OptionButton
If TypeOf Ctrl Is MSForms.OptionButton Then
'Véfifie si l'OptionButton fait partie d'un groupe nommé "GR1"
If Ctrl.GroupName = "GR1" Then
'Transfert le Caption de l'optionButton qui a la valeur True
If Ctrl.Value = True Then
Sheets("Feuil1").Range("A1").Value = Ctrl.Caption
'Sort de la boucle (il ne peut y a voir qu'une
'réponse à True)
USF1.Hide
USF2.Show
Exit Sub
End If
End If
End If
Next

MsgBox " Vous n'avez pas saisi votre choix "
Cancel = True


End Sub


Bonjour,

Merci.
Je peux maintenent saisir mais il ne me laisse plus sortir.
Malgré le choix, il continue à m'afficher la MsgBox. La valeur de
l'OptionButton a pourtant bien été transférée.

Daniel



Daniel.C a écrit :
Bonjour.
Esssaie :

Sub test()
Private Sub CommandButton2_Click()

Dim Ctrl As Control
'Boucle sur tous les contrôles
For Each Ctrl In Me.Controls
'Vérifie qu'il s'agit d'un OptionButton
If TypeOf Ctrl Is MSForms.OptionButton Then
'Véfifie si l'OptionButton fait partie d'un groupe nommé "GR1"
If Ctrl.GroupName = "GR1" Then
'Transfert le Caption de l'optionButton qui a la valeur True
If Ctrl.Value = True Then
Sheets("Feuil1").Range("A1").Value = Ctrl.Caption
'Sort de la boucle (il ne peut y a voir qu'une
'réponse à True)
Exit For
End If
End If
End If
Next

If Range("A1").Value = "" Then
MsgBox " Vous n'avez pas saisi votre choix "
Cancel = True
Exit Sub
End If

USF1.Hide
USF2.Show

End Sub

Cordialement.
Daniel


Bonjour,

Comment tester lors de la validation (clic sur CommandBoutton2) qu'un
OptionBoutton a été sélectionné ?
Le code ci-dessous (merci au passage à SilkyRoad de developpez.com) le
contrôle bien et il affiche la MsgBox indiquant que la saisie n'a pas été
faite, mais ensuite il passe au USF2 sans laisser la possibilité de saisir
sur le USF1.
Qu'est-ce qui cloche ?

Merci d'avance
Daniel

Private Sub CommandButton2_Click()

Dim Ctrl As Control
'Boucle sur tous les contrôles
For Each Ctrl In Me.Controls
'Vérifie qu'il s'agit d'un OptionButton
If TypeOf Ctrl Is MSForms.OptionButton Then
'Véfifie si l'OptionButton fait partie d'un groupe nommé "GR1"
If Ctrl.GroupName = "GR1" Then
'Transfert le Caption de l'optionButton qui a la valeur True
If Ctrl.Value = True Then
Sheets("Feuil1").Range("A1").Value = Ctrl.Caption
'Sort de la boucle (il ne peut y a voir qu'une
'réponse à True)
Exit For
End If
End If
End If
Next

If Range("A1").Value = "" Then
MsgBox " Vous n'avez pas saisi votre choix "
Cancel = True
End If

USF1.Hide
USF2.Show

End Sub









Avatar
Daniel
Oui la cellule de réception est bien vide au départ car il y a un
clear.contents d'effectué lors de l'appel du USF1.
Le premier code fonctionne impeccablement. Je n'ai donc pas testé le second.
Merci encore pour votre gentillesse.
Daniel

Daniel.C a écrit :
Est-ce que A1 est bien vide quand aucun option button n'est rempli ?
Si oui, essaie :

Private Sub CommandButton2_Click()

Dim Ctrl As Control, OK As Boolean
'Boucle sur tous les contrôles
For Each Ctrl In Me.Controls
'Vérifie qu'il s'agit d'un OptionButton
If TypeOf Ctrl Is MSForms.OptionButton Then
'Véfifie si l'OptionButton fait partie d'un groupe nommé "GR1"
If Ctrl.GroupName = "GR1" Then
'Transfert le Caption de l'optionButton qui a la valeur True
If Ctrl.Value = True Then
OK = True
Sheets("Feuil1").Range("A1").Value = Ctrl.Caption
'Sort de la boucle (il ne peut y a voir qu'une
'réponse à True)
Exit For
End If
End If
End If
Next

If OK = False Then
MsgBox " Vous n'avez pas saisi votre choix "
Cancel = True
Exit Sub
End If

USF1.Hide
USF2.Show

End Sub

ou

Private Sub CommandButton2_Click()

Dim Ctrl As Control, OK As Boolean
'Boucle sur tous les contrôles
For Each Ctrl In Me.Controls
'Vérifie qu'il s'agit d'un OptionButton
If TypeOf Ctrl Is MSForms.OptionButton Then
'Véfifie si l'OptionButton fait partie d'un groupe nommé "GR1"
If Ctrl.GroupName = "GR1" Then
'Transfert le Caption de l'optionButton qui a la valeur True
If Ctrl.Value = True Then
Sheets("Feuil1").Range("A1").Value = Ctrl.Caption
'Sort de la boucle (il ne peut y a voir qu'une
'réponse à True)
USF1.Hide
USF2.Show
Exit Sub
End If
End If
End If
Next

MsgBox " Vous n'avez pas saisi votre choix "
Cancel = True


End Sub


Bonjour,

Merci.
Je peux maintenent saisir mais il ne me laisse plus sortir.
Malgré le choix, il continue à m'afficher la MsgBox. La valeur de
l'OptionButton a pourtant bien été transférée.

Daniel



Daniel.C a écrit :

Bonjour.
Esssaie :

Sub test()
Private Sub CommandButton2_Click()

Dim Ctrl As Control
'Boucle sur tous les contrôles
For Each Ctrl In Me.Controls
'Vérifie qu'il s'agit d'un OptionButton
If TypeOf Ctrl Is MSForms.OptionButton Then
'Véfifie si l'OptionButton fait partie d'un groupe nommé "GR1"
If Ctrl.GroupName = "GR1" Then
'Transfert le Caption de l'optionButton qui a la valeur True
If Ctrl.Value = True Then
Sheets("Feuil1").Range("A1").Value = Ctrl.Caption
'Sort de la boucle (il ne peut y a voir qu'une
'réponse à True)
Exit For
End If
End If
End If
Next

If Range("A1").Value = "" Then
MsgBox " Vous n'avez pas saisi votre choix "
Cancel = True
Exit Sub
End If

USF1.Hide
USF2.Show

End Sub

Cordialement.
Daniel


Bonjour,

Comment tester lors de la validation (clic sur CommandBoutton2)
qu'un OptionBoutton a été sélectionné ?
Le code ci-dessous (merci au passage à SilkyRoad de developpez.com)
le contrôle bien et il affiche la MsgBox indiquant que la saisie n'a
pas été faite, mais ensuite il passe au USF2 sans laisser la
possibilité de saisir sur le USF1.
Qu'est-ce qui cloche ?

Merci d'avance
Daniel

Private Sub CommandButton2_Click()

Dim Ctrl As Control
'Boucle sur tous les contrôles
For Each Ctrl In Me.Controls
'Vérifie qu'il s'agit d'un OptionButton
If TypeOf Ctrl Is MSForms.OptionButton Then
'Véfifie si l'OptionButton fait partie d'un groupe nommé "GR1"
If Ctrl.GroupName = "GR1" Then
'Transfert le Caption de l'optionButton qui a la valeur True
If Ctrl.Value = True Then
Sheets("Feuil1").Range("A1").Value = Ctrl.Caption
'Sort de la boucle (il ne peut y a voir qu'une
'réponse à True)
Exit For
End If
End If
End If
Next

If Range("A1").Value = "" Then
MsgBox " Vous n'avez pas saisi votre choix "
Cancel = True
End If

USF1.Hide
USF2.Show

End Sub