Masquer les années en fonction de l'année en cour

Bonjour a tous !

Voila je cherche depuis hier a faire une macro qui marche, mais apparemment ce n'est pas dans mes compétences quand ça commence a devenir compliqué !

Je m'explique : J'ai un tableau avec différentes années de 2005 à 2015, j'ai dans chaque années 4 colonnes "Total, Prévision, Engagé, Réalisé". Je voudrais masquer la colonne "Engagé" lorsque l'année en cour (2012 actuellement) est plus grande que l'année du tableau.

Sub anneeencour()

I = 4
k = 5
anneecour = Year(Now())
annee = Cells(3, I).Value
rea_enga = Cells(4, k).Value

Do Until Cells(3, I) = "FIN" And Cells(3, k) = "FIN"
If annee < anneecour And rea_enga = "Engagé" Then
Columns(J).Hidden = True
End If
J = J + 1
I = I + 1
Loop
End Sub
14anneeencour.zip (7.91 Ko)

Bon j'ai avancé et voici mon code fonctionnel, enfin a moitié puisque même si la valeur est supérieur a 2012, "Engagé" se masque quand même.

Sub anneeencour()

C = 4
Do Until Cells(3, C) = "FIN"
anneecour = Year(Now())
annee = Cells(3, C)
engaC = Cells(4, C).Value

If anneecour > annee And engaC = "Engagé" Then
        Columns(C).Hidden = True
    End If
    C = C + 1
Loop

End Sub

Bonjour

Si j'ai compris à ce que tu cherches

Sub Test()
Dim I As Integer

  Columns.Hidden = False
  I = 4
  While Cells(1, I) < Year(Now)
    Columns(I + 3).Hidden = True
    I = I + 4
  Wend
End Sub

Merci pour la réponse, même si j'avais déjà résolu le problème ! Merci !

Rechercher des sujets similaires à "masquer annees fonction annee cour"