Bonsoir
Un peu (beaucoup) tiré par les cheveux
Option Explicit
Private Sub Worksheet_Activate()
Dim Mes As String
Dim Cel As Range
Dim Sem As Integer
Sem = DatePart("ww", Date, vbSunday, vbFirstFourDays) - DatePart("ww", CDate("30/01/11"), vbSunday, vbFirstFourDays) + 1
If Sem < 0 Then
Sem = DatePart("ww", CDate("31/12/" & Year(Date) - 1), vbSunday, vbFirstFourDays) + Sem
End If
Mes = "P-" & Format(Sem, "00")
Application.ScreenUpdating = False
With Sheets("Données")
Set Cel = .Rows(2).Find(what:=Mes, LookIn:=xlValues, lookat:=xlWhole)
If Not Cel Is Nothing Then
.Range(.Cells(4, Cel.Column), .Cells(7, Cel.Column)).Copy
Range("B5").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
.Range(.Cells(9, Cel.Column), .Cells(12, Cel.Column)).Copy
Range("B12").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End If
Range("A1").Select
End With
End Sub
Si cela te convient
Reste à déterminer comment calculer le début de ton année (30/01/11)
Bonne soirée