Bonjour à tous,

J'écris ce post car j'avoue ne pas comprendre mon erreur. J'ai peut être dû me prendre la tête trop longtemps sur ces quelques lignes et du coup je ne vois plus la faute.
Pour vous expliquer, je crois que c'est assez simple. Dans ma cellule E5 j'ai la date du jour (=AUJOURDHUI()) et dans la cellule E6 j'ai la date du jour +30 (=AUJOURDHUI()+30). Je souhaites que mes macros n'affichent que les colonnes dont la date est comprise entre aujourd'hui et aujourd'hui+30 donc entre les valeurs de E5 et E6. Mes deux macros fonctionnent séparément mais quand je ne souhaite en faire qu'une, ça ne fonctionne plus, auriez-vous des idées? Ci-dessous, vous trouverez mes codes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Sub colonneavantaujourdhui()
'Masque les colonnes des jours antérieurs à aujourdhui localisé dans la cellule E5'
Dim i As Variant
Application.ScreenUpdating = False
[F8:CQ24].EntireColumn.Hidden = False
For col = 6 To 300
With Feuil2.Cells(8, col)
If .Value < [E5] Then Columns(col).Hidden = True
End With
Next col
Application.ScreenUpdating = True
End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Sub colonneaprèsunmois()
'Masque les colonnes des jours posterieurs à la cellule E6'
Dim i As Variant
Application.ScreenUpdating = False
[F8:CQ24].EntireColumn.Hidden = False
For col = 6 To 300
With Feuil2.Cells(8, col)
If .Value < [E5] And .Value > [E6] Then Columns(col).Hidden = True
End With
Next col
Application.ScreenUpdating = True
End Sub
Bien cordialement,
VBamateur.