Valeur case à cocher

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

  1. 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
    1. 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
    2. 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
    3. 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