Attribuer une valeur à un bouton option

Fermé
Cath - 14 juin 2017 à 11:20
 Cath - 14 juin 2017 à 14:40
Bonjour,

J'ai créé un formulaire avec des boutons option.
En colonne A, je veux que la valeur 0 soit reportée si le bouton option est activé
En colonne B, 5.
En colonne C, 10.
En colonne D, 15.
En colonne E, 20.

En utilisant :

Private Sub OptionButton3_Click()
If OptionButton3.Value=True Then Range("D1")=10 Else Range("D1")=0
End Sub

Je réussi à faire apparaître la valeur 10 dans la cellule D1 mais malheureusement celle-ci ne disparaît pas quand j'inactive le bouton option.

J'ai essayé de multiples macro mais ce problème persiste.

Auriez-vous la solution svp?

4 réponses

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
14 juin 2017 à 11:57
Bonjour Cath, bonjour le forum,

Qu'entends-tu par inactiver le bouton ?
Si tu veux dire que tu ne cliques pas dessus, cela implique que la procédure Click n'est pas lancée. Donc si D1 est égale à 10 (ce qui n'est pas cohérent d'ailleurs avec le début de tes explications mais bon...) et tu ne re cliques pas, il est logique qu'il restes à 10...

Toutefois il faudrait le code complet avec tous les boutons d'options pour mieux comprendre...
0
Bonjour ThauTheme

Inactiver = quand Value=False.

Finalement peu importe la cellule vers laquelle je renvoie la valeur des boutons options. Je n'arrive pas à faire en sorte que le chiffre qui apparaît quand value=true disparaisse si value=false. As-tu une idée?
0
Kalissi Messages postés 218 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 15 juillet 2019 20
14 juin 2017 à 14:29
Bonjour,

Initialiser le résultat souhaité :

Pour 3 colonnes ...

Private Sub OptionButton1_Click()
    If OptionButton1.Value Then
        ActiveSheet.Range("A1").Value = 5
        ActiveSheet.Range("B1").Value = 0
        ActiveSheet.Range("C1").Value = 0
    End If
End Sub

Private Sub OptionButton2_Click()
    If OptionButton2.Value Then
        ActiveSheet.Range("A1").Value = 0
        ActiveSheet.Range("B1").Value = 10
        ActiveSheet.Range("C1").Value = 0
    End If
End Sub

Private Sub OptionButton3_Click()
    If OptionButton3.Value Then
        ActiveSheet.Range("A1").Value = 0
        ActiveSheet.Range("B1").Value = 0
        ActiveSheet.Range("C1").Value = 15
    End If
End Sub


note : le texte "=True" est implicite dans le code

If OptionButton2.Value Then égale If OptionButton2.Value = True Then

Range("A1") n'est pas très explicite et ça peut te poser des problèmes
a la longue ...

ActiveSheet.Range("A1").Value
Sheets("Feuil1").Range("A1").Value


K
0
Bonjour Kalissi,

ça fonctionne merci beaucoup.

Cordialement,
0