Valeur case à cocher
Résolu
MF
-
MF -
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 !
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
-
Bonjour,
"Notre" langage ?! Le français, quoi...
Dans ton code, tu ne déclares pas ce qui se passe si Animals.Value=True...
A+-
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 -
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+ -
-