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

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

  • Pour masquer des colonnes.xlsm
    28.1 KB · Affichages: 17
Dernière édition:

Patpatapat

XLDnaute Nouveau
Bonjour Patpatapat,

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

Bonjour Sylvanu,

C'est sans doute parce que j'y connais pas grand chose en VBA :D 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

  • Pour masquer des colonnes.xlsm
    27.9 KB · Affichages: 3

Patpatapat

XLDnaute Nouveau
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
 

Discussions similaires

Statistiques des forums

Discussions
311 543
Messages
2 080 560
Membres
101 250
dernier inscrit
FAYE Mourtalla