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.
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.
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
Ce qui fige l'affichage, donc permet d'aller plus vite et de ne pas voir des trucs inesthétiques à l'écran.
Ce flag se remet à True automatiquement en sortant de la sub.
Ce qui fige l'affichage, donc permet d'aller plus vite et de ne pas voir des trucs inesthétiques à l'écran.
Ce flag se remet à True automatiquement en sortant de la sub.