Masquer des colonnes sous conditions


#1

Bonjour,

Je ne suis pas certains d’être dans le bon forum. J’ai réalisé ici un tableau de suivi mensuel et suis à la recherche d’une condition qui me permettrait de cacher les colonnes portant la mention “S” et “D” ( les week end ^^) automatiquement dès que j’entre un nouveau mois ceux-ci seraient cachés

Mais j’ai l’impression qu’il s’agisse plus de vba que de formule sous condition et le vba je n’y connait rien.

Si quelqu’un pouvait m’orienter.

Merci d’avancetableau de suivi essai.xlsm (46,0 Ko)


#2

Bonjour

Effectivement il s’agit de VBA.
Voici comment faire:

  • Regarder une par une toutes les cellules de la ligne 11 (au moins jusqu’au jour 31)
  • Si la cellule contient S ou D, alors on cache toute la colonne qui contient cette cellule

.

Sub masquerWeekend()
    For Each cell In ActiveSheet.Range("A11:AG11"):
        If cell.Value = "S" Or cell.Value = "D" Then
            Columns(cell.Column).Select
            Selection.EntireColumn.Hidden = True
        End If
    Next cell
End Sub

Voici un fichier qui réalise cela:

tableau de suivi essai.xlsm (54,7 Ko)


#3

Bonjour,

Merci beaucoup pour le fichier et votre réactivité.


#4

Bonjour à toutes et tous,
Bonjour Rico5936, DocteurExcel,

Je viens de découvrir ce forum suite à un mail de Will et je le trouve très intéressant.
J’ai pu voir que DocteurExcel était très actif dans les réponses apportées, je pense que je vais beaucoup apprendre.

Rico5936, pour apporter une modeste contribution à ta question et avec le code de DocteurExcel, je pense qu’il pourrait-être utile d’avoir la possibilité de faire réapparaitre les colonnes comportant les week-end.
D’où un 2ème bouton pour le faire dans le fichier ci-joint.

tableau de suivi essai V1.xlsm (56,3 Ko)

Cordialement.


#5

Bonjour mdo100,

Merci pour ta contribution.

Cordialement


#6

Bonjour @Rico5936 , si ton problème est résolu, merci de sélectionner la solution en cochant le petit :white_check_mark: sous la réponse