Masquer des colonnes en fonction de la date

Bonjour tout le monde,

dans le cadre de mon stage j'ai fait un planning qui donne les tâches à accomplir en fonction du numéro de la semaine. On trouve donc dans les colonnes les semaines numérotées de 1 à 52, et dans les lignes ce qui est prévu d'accomplir durant ces semaines. J'ai dans une case extérieure au tableau (mais sur la même feuille) le numéro de la semaine actuelle (délivrée par formule). Je voudrais qu'il n'y ait uniquement que les colonnes des semaines supérieures ou égale à la semaine actuelle qui s'affiche.

J'ai lu beaucoup de sujets traitant de masquer des lignes et des colonnes et j'ai donc essayer de faire mon propre code (jsui loin d'être une flèche en VBA) ce qui donne ça :

Private Sub Worksheet_Change(ByVal Target As Range)

Dim cL%, i%, semaine

Application.ScreenUpdating = False

cL = Cells(1, 256).End(xlToLeft).Column

Range(Cells(1, 1), Cells(1, cL)).EntireColumn.Hidden = False

semaine = Range("BI5").Value

For i = 7 To cL

If Cells(2, i) < semaine Then Columns(i).Hidden = True

If Cells(2, i) > semaine Then Colums.Hidden = False

Next i

End Sub

Malheuresement ça ne fonctionne pas, c'est sûrement bourré d'erreurs....

43classeur2.zip (37.57 Ko)

Bonsoir

Essaye en corrigeant comme ci-dessous

Fbout a écrit :

Private Sub Worksheet_Change(ByVal Target As Range)

Dim cL%, i%, semaine

Application.ScreenUpdating = False

cL = Cells(2, 256).End(xlToLeft).Column C'est la ligne 2 qui est renseignée

Range(Cells(1, 1), Cells(1, cL)).EntireColumn.Hidden = False

semaine = Range("BI5").Value

For i = 7 To cL

If Cells(2, i) < semaine Then Columns(i).Hidden = True

If Cells(2, i) > semaine Then Columns(i).Hidden = FalsePas nécessaire puisque les colonnes sont déjà visibles

Next i

End Sub

Amicalement

Nad

P*tain mais quel idiot >< Merci pour la précision, ça marche impec

Rechercher des sujets similaires à "masquer colonnes fonction date"