Bonsoir, proposition en PJ.
Si les dates en AD6:AF6 ne font pas partie du même mois, on les masque. En AD6 :
=SI(AC6<>"";SI(MOIS(AC6)=MOIS(AC6+1);AC6+1;"");"")
La ligne qui contient le numéro des jours reprend la valeur de la date au-dessus.
Le code VBA :
Private Sub Worksheet_Change(ByVal Target As Range)
'Colonnes
Application.ScreenUpdating = False
Dim plage As Range
Set plage = Range("AD6:AF6")
For Each c In plage
If c.Value = "" Then
c.EntireColumn.Hidden = True
Else
c.EntireColumn.Hidden = False
End If
Next c
End Sub
Pour les lignes, faut voir ce que tu veux.