Cocher case sur une feuille et faire apparaître lignes sur autre feuille

Bonjour à tou(te)s !

Après plusieurs recherches sur différents forum, je n'ai pas trouvé de solution à mon problème... J'ai donc besoin de votre aide !

(à savoir que je n'y connais aaabsolument rien en marco ! )

Pour faire simple, un fichier excel a deux feuilles :

  • une première, avec des cases à cochées ;
    une seconde, comportant de nombreuses lignes.

Je souhaiterais qu'un utilisateur puisse cocher différentes cases sur la première feuille, puis se rendre sur la seconde, qui aurait été modifiée de façon automatique selon les cases sélectionnées précédemment par l'utilisateur. Sur cette seconde feuille, seules les lignes correspondant aux cases sélectionnées apparaîtraient.

Pour l'instant, j'ai pu lier une macro à ma case ( en feuille 1) : cocher et décocher cette case permet d'afficher ou de cacher des lignes... sur la feuille 1.

Voici ma macro :

Sub MACRO()

If Range("D5").Value = True Then

'Si la case D5, Gaz infla, est cochée, alors

Rows("6:8").EntireRow.Hidden = False

'Les lignes 5 à 8 apparaîssent

Else: Rows("6:8").EntireRow.Hidden = True

'Sinon (si la case n'est pas cochée), alors les lignes 5 à 8 sont cachées

End If

End Sub

Pour plus de clarté, je vous joins une version allégée du fichier !

Objectifs :

  • je souhaiterais que les lignes apparaissant / se cachant soient des lignes de la feuille n°2.
  • le fichier complet comporte une vingtaine de cases en feuille n°1 et 80 lignes en feuilles n°2... Il faudrait par conséquent que cocher/décocher une case n'ouvre pas automatiquement la feuille n°2, mais que l'utilisateur puisse rester sur la feuille n°1 pour cocher tranquillement ses cases, puis se rendre de lui même en feuille n°2 pour visualiser uniquement les lignes qui le concerne.

Je crois qu'il y a une histoire de "sheets", de point d'exclamation ou je ne sais quoi... Bref, je suis perdue !

Je vous remercie par avance pour votre aide !

99outil-1.zip (93.85 Ko)

Bonsoir,

Attention ! Veuillez utiliser les balises pour une meilleur présentation... Ce sont les boutons au dessus de la zone de saisie de texte.

Mon essai :

Sub Macro()
    If Range("D5").Value = True Then
        'Si la case D5, Gaz infla, est cochée, alors
        Sheets("RUBRIQUES DC").Rows("6:8").EntireRow.Hidden = False
        'Les lignes 5 à 8 apparaîssent DANS LA FEUILLE ESSAI RUBRIQUE
    Else
        Sheets("RUBRIQUES DC").Rows("6:8").EntireRow.Hidden = True
        'Sinon (si la case n'est pas cochée), alors les lignes 5 à 8 sont cachées
    End If
End Sub

vbMBHB

Bonjour

Le plus simple est de

  • créer des plages nommées correspondant aux types de substances à afficher/masquer
  • créer des case à cocher en activex plutôt qu'en objet de formulaire
  • utiliser la valeur booléenne de case à cocher, nommée de façon similaire à la zone correspondante pour gérer l'affichage.

J'ai terminé les noms avec un caractère particulier (ici _) pour repérer ces noms.

Code dans le module de la feuille RUBRIQUES DC. Voir noms dans le gestionnaire de noms et dans les propriétés des cases à cocher

Pourquoi utiliser l'ancien format xls alors que tu as 2010 ?

216masquer-afficher.zip (90.36 Ko)

Bonsoir,

Un grand merci pour votre retour si complet ! Je n'en attendais pas tant, et j'avoue ne pas y comprendre grand chose...! (si vous voulez appréhender mon niveau, dites vous quand même que j'ignore comment "créer une plage"... Rhem. J'ai honte... A chacun son domaine d'expertise ! )

Je vais partir sur l'utilisation du "Sheets("RUBRIQUES DC")." sans trop modifier mon fichier...

J'ignore la différence entre un objet en formulaire et un activex...

Enfin, en ce qui concerne l'utilisation de l'ancien format xls sur excel 2010, et bien... Je ne sais pas ! Je n'y ai jamais réfléchis : Je travaille sur un ordinateur professionnel et n'y ai changé aucun paramètre. Peut être une histoire de compatibilité des fichiers mis en réseau multisite ...?

Bonsoir !

C'est parfait merci beaucoup !

Merci

vbMBHB

Bonjour

j'avoue ne pas y comprendre grand chose...! (si vous voulez appréhender mon niveau, dites vous quand même que j'ignore comment "créer une plage"... Rhem. J'ai honte... A chacun son domaine d'expertise !

Les plages nommées permettent de rendre les choses évolutives : le jour où on ajoute des lignes d'une catégorie, on modifie juste la définition de la plage nommée sans avoir à modifier le code.

Outre le code, la superposition de cases, de cellules liées complique énormément l'évolutivité du classeur. Et en entreprise tout évolue...

Pour le format : nous sommes passés en xlsx depuis 10 ans.

Garder le format xls, vous prive de toutes les améliorations faites depuis ces 10 années sur Excel et elles sont nombreuses...

Quand au niveau : il ne tient qu'à toi de l'améliorer. On a tous commencé un jour à partir de 0...

Rechercher des sujets similaires à "cocher case feuille apparaitre lignes"