Private Sub Worksheet_Change(ByVal Target As Range)
If Not IsDate(Target(1)) Or Target.Count > 1 Then Exit Sub
Application.ScreenUpdating = False
Application.EnableEvents = False
While Month(Target + 1) = Month(Target)
Set Target = Target(2)
Target = Target(0) + 1
Target.NumberFormat = Target(0).NumberFormat
Wend
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not IsDate(Target(1)) Or Target.Count > 1 Then Exit Sub
Application.ScreenUpdating = False
Application.EnableEvents = False
While Month(Target + 1) = Month(Target)
Set Target = Target(2)
Target = Target(0) + 1
Target.NumberFormat = Target(0).NumberFormat
Wend
Range(Target(2), Cells(Rows.Count, Target.Column)).ClearContents 'RAZ dessous
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not IsDate(Target(1)) Or Target.Count > 1 Then Exit Sub
Application.ScreenUpdating = False
Application.EnableEvents = False
While Month(Target + 1) = Month(Target)
Set Target = Target(2)
Target = Target(0) + 1
Target.NumberFormat = Target(0).NumberFormat
Wend
Range(Target(2), Cells(Rows.Count, Target.Column)).ClearContents 'RAZ dessous
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not IsDate(Target(1)) Or Target.Count > 1 Then Exit Sub
Application.EnableEvents = False
With Target.Resize(DateSerial(Year(Target), Month(Target) + 1, 1) - Target)
.NumberFormat = Target.NumberFormat
.DataSeries
.Offset(.Count).Resize(Rows.Count - .Count - .Row + 1).Delete xlUp 'RAZ dessous
End With
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not IsDate(Target(1)) Or Target.Count > 1 Then Exit Sub
Application.EnableEvents = False
With Target.Resize(DateSerial(Year(Target), Month(Target) + 1, 1) - Target)
.NumberFormat = Target.NumberFormat
.DataSeries
.Offset(.Count).Resize(Rows.Count - .Count - .Row + 1).Delete xlUp 'RAZ dessous
End With
Application.EnableEvents = True
End Sub
bnj
et merci ca marche bien
juste un problème au dessus de la dernier date j'ai des case de calcule alors chaque foi la date change j'ai un problème des dernier ligne
je veux toujours travailler sur même tableau
Private Sub Worksheet_Change(ByVal Target As Range)
If Not IsDate(Target(1)) Or Target.Count > 1 Then Exit Sub
If Target.Address <> "$K$11" Then Exit Sub
If Day(Target) <> 1 Then Exit Sub
Application.EnableEvents = False
[K12:K41] = ""
Rows("12:41").Hidden = False
With Target.Resize(DateSerial(Year(Target), Month(Target) + 1, 1) - Target)
.NumberFormat = Target.NumberFormat
.DataSeries
End With
With Application
If .CountA([K39:K41]) < 3 Then
Rows(41).Offset(-2 + .CountA([K39:K41])).Resize(3 - .CountA([K39:K41])).Hidden = True
End If
End With
Application.EnableEvents = True
End Sub
Dans le classeur joint, j'ai ajouté des mises en forme pour colorer en bleu les samedis et dimanche. Les modifs sont seulement sur la feuille tab. Je peux les reporter sur les autres.