OptionButton(s) - Maintenir la Value au changement d'état

Bonjour à tous,

Quelqu'un pourra t-il m'aider.

Dans un UserForm, J'ai un groupement dans un Frame de trois boutons d'option. L'un est coché par défaut. J'ai créé un bouton RAZ pour enlever la valeur True de l'un pour le mettre à l'autre (pour deux boutons d'option seulement).

Voici le code :

Private Sub RAZ_Click()
 OptionButton1.Value = False
 OptionButton2.Value = True
End Sub

Mais comment faire pour maintenir la nouvelle valeur True à l'autre bouton d'option, ce qui éviterait à chaque fois de cliquer sur ce bouton pour lui faire prendre la valeur TRUE ?

Merci pour vos compétences et votre disponibilité.

39fichier.xlsm (84.49 Ko)

Bonjour

Dans un groupe de boutons d'option, un seul peu prendre la valeur ''Vraie''

Si tu veux en avoir 2 , il te faut passer aux checkbox...

Bye !

Bonjour,

Dans un UserForm...

Ah oui ?

eric

Bonjour à tous,

Ton fichier joint ... corrigé ...

49fichier.xlsm (53.21 Ko)

Bonjour James007,

Je ne vois pas ce que tu as modifié dans mon fichier. Toutefois, le bouton pour "R" reste par défaut et lorsque je sélectionne celui de "P" il ne reste qu'une fois puis bascule en "R". Donc, ce n'est pas résolu.

J'ai modifié le code et cela marche. Par l'intermédiaire d'un autre internaute aussi en rendant mon code plus simple. Mais je ne poste pas encore résolu car j'ai fait juste un essai sur une seule feuille. J'en ai 5 en tout.

Je vous tiens au courant mais le mieux c'est que je mette le fichier entier mais il génère une erreur au démarrage.

Je regarde et le met sur le forum.

Merci encore.

Bonjour,

Même si je n'ai pas compris ta solution ... content que tu aies trouvé ce que tu cherchais ...

J'ai résolu le problème.

Le code :

Le RAZ n'est pas obligatoire.

Private Sub RAZ_Click()
 Range("R2") = " "
 End Sub
Private Sub UserForm_Initialize()
 If Range("R2") = "oui" Then
        OptionButton1.Value = True
    End If

    If Range("R2") = "non" Then
        OptionButton2.Value = True
    End If
End Sub
Sub OptionButton1_Click() 'N°1
   If OptionButton1.Value = True Then 'Si coché ...
       Sheets("Feuille de présence").Range("R2") = "oui"
    Else 'Si non coché ...
       Sheets("Feuille de présence").Range("R2") = "non"
    End If
End Sub
Sub OptionButton2_Click() 'N°2
   If OptionButton2.Value = False Then 'Si coché ...
       Sheets("Feuille de présence").Range("R2") = "oui"
    Else 'Si non coché ...
       Sheets("Feuille de présence").Range("R2") = "non"
    End If
End Sub

Mainenant frangy m'a trouvé comme solution en bien plus contractée et cela marche :

Private Sub UserForm_Initialize()
    Me.Controls("OptionButton" & Range("R1").Value) = True
End Sub
Rechercher des sujets similaires à "optionbutton maintenir value changement etat"