Valeur case à cocher

Résolu
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 !

1 réponse

Zoul67 Messages postés 1959 Date d'inscription   Statut Membre Dernière intervention   149
 
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
MF
 
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
0
Zoul67 Messages postés 1959 Date d'inscription   Statut Membre Dernière intervention   149
 
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+
0
MF
 
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+
0