Bonjour,
Ta macro ne peut fonctionner car tu n'as pas d'évènement Change, le contenu des cellules ne change pas, il n'y a qu'un recalcul qui affiche une nouvelle valeur sans modifier le contenu.
Par ailleurs, ça n'aurait pas fonctionné de toute façon car ta cellule affiche un nom de mois mais aucunement des valeurs de 28 à 31 qui n'apparaissent d'ailleurs nulle part.
Donc, tu vas transformer ta macro ainsi, et la déplacer dans un module standard :
Sub ChangeMois()
Dim m%, a%
With Worksheets("Planning")
m = .Range("A2").Value
a = .Range("H4").Value
End With
With Worksheets("Impression")
Select Case m
Case 1, 3, 5, 7, 8, 10, 12
.Columns("BG:BL").Hidden = False
Case 4, 6, 9, 11
.Columns("BG:BJ").Hidden = False
.Columns("BK:BL").Hidden = True
Case 2
.Columns("BG:BL").Hidden = True
If a Mod 100 > 0 Then
If a Mod 4 = 0 Then a = 0
Else
If a Mod 400 = 0 Then a = 0
End If
If a = 0 Then .Columns("BG:BH").Hidden = False
End Select
End With
End Sub
Ensuite tu l'affectes au bouton-toupie qui te sert à changer le mois.
Ce sera déjà quelque chose qui marche.
Pour le reste, je n'ai pas bien compris et comme il n'y a pas encore assez d'éléments pour avoir une idée de la méthodologie d'utilisation dans le temps, je te laisse prendre le temps de préciser ton projet...
Bonne journée
Ferrand