XL 2010 Masquer des colonnes en fonction de la valeur de la cellule en tête de la colonne

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Patpatapat

XLDnaute Nouveau
Bonjour à tous,

J'espère que vous allez pouvoir m'aider car je patauge.

J'ai un fichier de gestion des salariés.
En fonction du salarié sélectionné en case B3 (parmi une liste) et via une formule, il y a un report dans la 1ere ligne de chaque colonne des jours. (dans l'exemple du fichier joint, de F1 à L1
Si le salarié travaille ce jour là, un 1 est indiqué en ligne 1 de la colonne, sinon un 0 est indiqué.

Lorsqu'il y a un 0, la colonne doit être masquée, si c'est un 1, elle doit s'afficher
Exemple pour Pierre, seule la colonne L va être masquée et les autres colonnes affichées.

En gros, ma demande revient à faire un filtre mais par colonne.

Pour simplifier le fichier je n'ai mis que 3 salariés et quelques jour seulement.

Il y a dans le fichier, une tentative de macro mais qui ne marche pas.

Bref, HELP!!!!!

Merci à tous

Pat
 

Pièces jointes

Dernière édition:
Bonjour Patpatapat,

Mon dieu, alors pourquoi faire un test sur la ligne 2 ?
VB:
For Each cellule In [F2:L2]
😛

Bonjour Sylvanu,

C'est sans doute parce que j'y connais pas grand chose en VBA 😀 et également car je me suis emmêlé les pinceaux quand j'ai voulu simplifier le fichier pour le mettre en ligne.

Merci, j'ai corrigé par [F1:L1]
Malheureusement, ça ne marche pas quand même.

Une idée?
 

Pièces jointes

Désolé ... mais vos macros marchent. Voir PJ.
Comment activez vous les macros ?

Bonjour Sylvanu,

Effectivement, les macros marchent bien. C'est moi qui ne savais pas les activer.

Tout marche nickel
Merci Sylvanu!

Pour infos pour les autres le bout de code pour masquer des colonnes en fonction de la valeur dans une cellule de la colonne (dans l'exemple dans la ligne 1 et si la valeur est égale à 0 )

Sub Masque_col()
For Each cellule In [A1:NK1]
If cellule.Value = "0" Then cellule.EntireColumn.Hidden = True
Next cellule

End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour