Masquer case à cocher + ligne

alexandreRIC

XLDnaute Nouveau
Bonjour à tous,

Je suis un débutant en VBA.

Mon problème:
En A1: j'ai une liste (rouge;bleu)
J'ai une case à cocher qui me masque les lignes 6 à 10.

Lorsqu'en A1, j'ai rouge je veux garder ma case à cocher.
Lorsqu'en A1, j'ai bleu je veux masquer ma case à cocher et les lignes de 3 à 10.

Ci-joint mon fichier.

Pouvez-vous m'expliquer comment faire si cela est possible (ce que je pense)

Merci d'avance,

Alexandre

---------------------------------------------------------------

Réponse de Hasco


Bonjour Alexandre,

Si tu joints des fichiers xl2007, et pour toutes questions xl2007 poste tes message sur le sous-forum 2007.


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Range("3:10").EntireRow.Hidden = [A1] = "Bleu"
CheckBox1.Visible = [A1] <> "Bleu"
End Sub

A+

Bonjour à tous

Merci Hasco, cela marche parfaitement.
Mais si je veux faire disparaitre 2 ou 3 cases à cocher, quelle serait la ligne de commande?

Y a t-il un moyen de faire apparaitre en permanance la flèche pour les listes? (dans mon exemple Rouge;Bleu)

Merci d'avance et bonne journée à tous.

Alexandre
 

Pièces jointes

  • Classeur1.xlsm
    16.4 KB · Affichages: 203
  • Classeur1.xlsm
    16.4 KB · Affichages: 216
  • Classeur1.xlsm
    16.4 KB · Affichages: 235
G

Guest

Guest
Re : Masquer case à cocher + ligne

Bonjour Alexandre,

Mais si je veux faire disparaitre 2 ou 3 cases à cocher, quelle serait la ligne de commande?

CheckBox1.Visible = [A1] <> "Bleu"

Où CheckBox1 est le nom de la case à cocher à rendre visisble ou non si [A1]<>"Bleu"
Ton exemple n'est pas assez parlant pour t'en dire d'avantage.


Pour la deuxième question, je n'ai vu jusqu'à présent aucune solultion existante.

A+
 

alexandreRIC

XLDnaute Nouveau
Re : Masquer case à cocher + ligne

Re,

Dans mon exemple, j'ai qu'une seule case à cocher (CheckBox1).
Mais admettons que j'ai 3 case à cocher à faire disparaitre (CheckBox1, CheckBox2 et CheckBox3). Quelle macro devrais-je mettre?

En faites j'ai essayé ceci et ça marche.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Range("3:10").EntireRow.Hidden = [A1] = "Bleu"
CheckBox1.Visible = [A1] <> "Bleu"
CheckBox2.Visible = [A1] <> "Bleu"
CheckBox3.Visible = [A1] <> "Bleu"
End Sub

Alex
 

Statistiques des forums

Discussions
312 691
Messages
2 090 992
Membres
104 722
dernier inscrit
Tuaneps