VB excel - masquer / afficher des colonnes

Résolu
Bonjour,
Dans une feuille excel, j'ai l'énumération des mois de janvier 2007 à décembre 2008 :


A1 A2 A3 A4 A5 A6 A7 A8 A9 A10
janv-07 févr-07 mars-07 avr-07 mai-07 juin-07 juil-07 août-07 sept-07 oct-07

A11 A12 A13 A14 A15 A16 A17 A18 A19 A20
nov-07 déc-07 janv-08 févr-08 mars-08 avr-08 mai-08 juin-08 juil-08 août-08

A21 A22 A23 A24
sept-08 oct-08 nov-08 déc-08

Je voudrais, à l'aide d'un code VB, masquer des colonnes :
Si nous sommes en octobre 2008, je veux que seules les colonnes de octobre 2007 à octobre 2008 s'affichent.
Quelqu'un a-t-il une solution à me proposer?
Merci d'avance.
oganouo
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. Contributeur
    Re Bonjour,

    Je viens de trouver encore plus simple ...

    IDEB = Month(Now)
    Range(Columns(1), Columns(24)).EntireColumn.Hidden = True
    Range(Columns(IDEB), Columns(IDEB + 12)).EntireColumn.Hidden = False
    


    Cordialement,
    1. Contributeur
      Bonjour,

      Je propose le code VB suivant :
      Dim CACHER As Boolean
      Dim ICOL As Integer
      
      CACHER = True
      For ICOL = 1 To 24
          If Month(Now) = Month(Cells(1, ICOL)) Then
              Columns(ICOL).EntireColumn.Hidden = False
              CACHER = Not (CACHER)
          Else
               Columns(ICOL).EntireColumn.Hidden = CACHER
          End If
      Next ICOL


      On suppose que les colonnes vont de 1 à 24 et on teste si le mois dans l'entête de colonne est le même que le mois courant. Tant que ce n'est pas le mois courant on cache les colonnes puis on affiche et ensuite on cache à nouveau.

      Cordialement,