Faire apparaître des cases option en fonction d’éléments rentrés

  • Initiateur de la discussion Initiateur de la discussion brouse_lit
  • 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 !

B

brouse_lit

Guest
Bonjour à tous,

Je me permet de vous sollicité, car j'ai beau cherché, je ne trouve pas de solution à mon problème.
J'aimerai qu'en fonction de valeur que l'on rentre dans une cellule on puisse faire apparaître des cases option.

Me concernant j'ai juste besoin qu'elles deviennent "visibles", j'ai donc essayé de mettre des mise en forme conditionnelles qui permettraient de changer la couleur de la police mais cela ne semble pas fonctionner sur ce genre d'outils.

Est ce que quelqu'un aurait une solution?
D'avance merci
 
Re : Faire apparaître des cases option en fonction d’éléments rentrés

Slt Brouse et bienvenue sur le Forum que je salue,

Vois le fichier joint si ça peut t'inspirer, sauf qu'il s'agit de CheckBox et pas d'OptionButton, mais le principe est le même.

Si jamais le post c'est ici.

Si tu rencontres des soucis, n'hésite pas.

EDIT : Au fait je ne sais pas si tu veux créer les OptionButton dans un Userform ou dans des cellules, mais si jamais le premier fichier que je propose dans le post mit en lien, c'est pour des cellules.
 

Pièces jointes

Dernière édition:
Re : Faire apparaître des cases option en fonction d’éléments rentrés

Merci pour la réponse rapide par contre j'ai peut être mal expliqué mon problème donc je donne un fichier en exemple, ça sera surement plus parlant.
 

Pièces jointes

Re : Faire apparaître des cases option en fonction d’éléments rentrés

Bonjour à tous,
Salut Doc Banner,

Un essai avec un code non optimisé :

VB:
Option Explicit


Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$C$5" Then
        If Target.Value >= 1000 Then ActiveSheet.Shapes("OptionButton1").Visible = False
        If Target.Value >= 1000 Then ActiveSheet.Shapes("OptionButton2").Visible = False
        If Target.Value < 1000 Then ActiveSheet.Shapes("OptionButton1").Visible = True
        If Target.Value < 1000 Then ActiveSheet.Shapes("OptionButton2").Visible = True
    End If
End Sub

A + à tous
 

Pièces jointes

Re : Faire apparaître des cases option en fonction d’éléments rentrés

Merci JCGL, le résultat est parfait !
Par contre je m'y connait pas vraiment en VB et du coup je ne sais pas comment appliqué cette solution pour une valeur que l'on rentrerai (au lieu de choisir parmi une liste comme dans ton exemple).
 
Re : Faire apparaître des cases option en fonction d’éléments rentrés

Bonjour à tous,

Le plus simple serait de mettre ton seuil dans une cellule : A1 par exemple.
Tu n'aurais pas à modifier le code par le VBE (Visual Basic Editor) accessible par Alt+F11.

VB:
Option Explicit


Private Sub Worksheet_Change(ByVal Target As Range)
Dim Seuil&
Seuil = Cells(1, 1)
    If Target.Address = "$C$5" Then
        If Target.Value > Seuil Then ActiveSheet.Shapes("OptionButton1").Visible = False
        If Target.Value > Seuil Then ActiveSheet.Shapes("OptionButton2").Visible = False
        If Target.Value <= Seuil Then ActiveSheet.Shapes("OptionButton1").Visible = True
        If Target.Value <= Seuil Then ActiveSheet.Shapes("OptionButton2").Visible = True
    End If
End Sub

A + à tous
 

Pièces jointes

Re : Faire apparaître des cases option en fonction d’éléments rentrés

Merci encore pour ta solution, c'est parfait.
Bon, faut juste que je comprenne maintenant comment faire par moi même car du coup, j'ai essayé de rajouté un 3 bouton option mais le code que j'ai écrit ne fonctionne pas.
As tu une idée du pourquoi ?
Tu utilises bien des bouton Contrôle ActiveX ?
 

Pièces jointes

Re : Faire apparaître des cases option en fonction d’éléments rentrés

Bonjour à tous,

Il me semble que tu sois resté en Mode création : Clique sur l'équerre de la Boite à Outils pour le désactiver.

Capture_1.png
Chez moi ton code fonctionne après la manipulation.

A + à tous
 

Pièces jointes

  • Capture_1.png
    Capture_1.png
    6.6 KB · Affichages: 102
  • Capture_1.png
    Capture_1.png
    6.6 KB · Affichages: 99
Re : Faire apparaître des cases option en fonction d’éléments rentrés

Bonjour à tous,

Comme la méthode convient voici une version plus conforme :

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Seuil&
    Seuil = Cells(1, 1)
    ActiveSheet.Shapes("OptionButton1").Visible = IIf(Range("C5") > Seuil, False, True)
    ActiveSheet.Shapes("OptionButton2").Visible = IIf(Range("C5") > Seuil, False, True)
    ActiveSheet.Shapes("OptionButton3").Visible = IIf(Range("C5") > Seuil, True, False)
End Sub


A + à tous
 
Re : Faire apparaître des cases option en fonction d’éléments rentrés

Merci Beaucoup JCGL pour ton aide.

Je ne voudrais pas abuser de ta gentillesse mais du coup, mon problème (que tu as résolu) m’amène à un autre problème quasi similaire.
Je cherche du coup à utiliser les réponses obtenues par les boutons option pour pouvoir, en fonction de ce qui est choisi, afficher ou non d'autres cases et/ou des mises en forme de cases.
Peux tu m'aider ?
(Désolé, mais en VB, je ne suis pas hyper à l'aise)
 

Pièces jointes

- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour