Attribuer une valeur à un bouton option

Cath -  
 Cath -
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

  1. ThauTheme Messages postés 1564 Statut Membre 160
     
    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
  2. Cath
     
    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
  3. Kalissi Messages postés 221 Statut Membre 20
     
    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
  4. Cath
     
    Bonjour Kalissi,

    ça fonctionne merci beaucoup.

    Cordialement,
    0