Valeur case à cocher [Résolu/Fermé]

Signaler
-
 MF -
Bonjour,

Je suis vraiment une novice sur le sujet Macro Excel, mais je vais essayer de parler votre langage et d'être le plus clair possible.

J'ai créé des cases à cocher via les contrôles de formulaire.
Je voudrais qu'en fonction des cases cochées, des lignes sur une autre feuille de mon classeur soient visibles (en gros : si la case n'est pas cochée, masquer la ligne correspondante).

Mon classeur:
- Feuille "Export" sur laquelle sont les cases à cocher
- Feuille "Export recommandation" sur laquelle sont les informations à afficher ou masquer en fonction des coches
- Animals : exemple d'une des cases à cocher que j'ai renommée.

Du coup j'ai créé ce code (pour la première case uniquement, je pensais faire du copier-coller pour les cases suivantes) :

Sheets("Export").Select
If Animals.Value = False Then
Sheets("Export recommandations").Select
Rows("8").Select
Selection.EntireRow.Hidden = True
End If

End Sub


Avec ce code, j'ai l'impression que ma valeur est toujours considérée comme fausse, et du coup ma ligne 8 est toujours masquée.

D'où pourrait venir ce problème ?

Merci beaucoup pour votre aide !

1 réponse

Messages postés
1941
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
23 août 2020
138
Bonjour,

"Notre" langage ?! Le français, quoi...
Dans ton code, tu ne déclares pas ce qui se passe si Animals.Value=True...

A+
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Bonjour,

J'ai également tenté le code ci-dessous, mais sans plus de résultat :

If Animals = False Then
Sheets("Export recommandations").Select
Rows("8").Select
Selection.EntireRow.Hidden = True
Else
Sheets("Export recommandations").Select
Rows("8").Select
Selection.EntireRow.Hidden = False
End If

Ma valeur semble être toujours considérée comme "False", que ma case soit cochée ou non
Messages postés
1941
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
23 août 2020
138
Re,

Utilise plutôt une case à cocher de contrôle ActiveX : elle prendra initialement le nom CheckBox1.
Pour vérifier qu'elle gère les alternances coché/décoché, j'ai fait :
Private Sub CheckBox1_Click()
MsgBox CheckBox1.Value
End Sub

Au lieu de gérer avec If, tu peux directement utiliser la valeur de la CheckBox :
Private Sub CheckBox1_Click()
Sheets("Feuil2").Rows("8").Hidden = CheckBox1.Value
End Sub


Avec tes noms d'objets, ce doit être :
Private Sub Animals_Click()
Sheets("Export recommandations").Rows("8").Hidden = Animals.Value
End Sub


A+
Bonjour,

Merci pour ton aide qui m'a permis de corriger mon soucis !
Pour info, j'ai également ajouté un ThisWorkbook.Worksheets("Export") avant le nom de la CheckBox.

A+