Sub Macro4()
'
' Macro4 Macro
Dim i, j As Integer
Sheets("AAA").Activate
Columns("A:B").Select ' Insertion de 2 colonnes
Selection.Insert Shift:=x1ToRight, CopyOrigin:=x1FormatFromLeftOrAbove
Columns("A:A").NumberFormat = "dd/mm/yyyy" ' Mise au format de la ColonneA
Range("A4").FormulaR1C1 = "=(DATE(LEFT(RC3,4),1,1))" ' Recupération de la 1ere année
Range("A1").Value = Range("A4").Value 'Mise en mémoire de la 1er date
Range("A5:A" & [C65536].End(xlUp).Row).FormulaR1C1 = "=IF(R[-1]C="""","""",IF(R[-1]C[1]>TEXT(YEAR((TODAY()-7)-WEEKDAY((TODAY()-7),2)+4)&""""&TEXT(INT(MOD(INT(((TODAY()-7)-2)/7)+3/5, 52+5/28))+1,""00""),""0""),"""",(R[-1]C+7)))" ' Formule pour mise en forme jj/mm/aaaaa
Range("B4:B" & [C65536].End(xlUp).Row).FormulaR1C1 = "=IF(RC[-1]="""","""",TEXT(YEAR(RC[-1]-WEEKDAY(RC[-1],2)+4)&""""&TEXT(INT(MOD(INT((RC[-1]-2)/7)+3/5, 52+5/28))+1,""00""),""0""))" ' Formule pour mise en forme AAAASS
For i = 4 To Range("A65536").End(xlUp).Row Step 1 ' Début de la procédure
If Range("C" & i).Value = Range("B" & i).Value Then ' 1er condition : si date correspondent alors rien
Else
If Range("C" & i).Value <> Range("B" & i).Value Then '2eme condition: si pas de correspondance, insertion d'un ligne et décalage des formules
Rows(i).Insert Shift:=xlUp
Range("A4").Value = Range("A1").Value
Range("A5:A" & [C65536].End(xlUp).Row).FormulaR1C1 = "=IF(R[-1]C="""","""",IF(R[-1]C[1]>TEXT(YEAR((TODAY()-7)-WEEKDAY((TODAY()-7),2)+4)&""""&TEXT(INT(MOD(INT(((TODAY()-7)-2)/7)+3/5, 52+5/28))+1,""00""),""0""),"""",(R[-1]C+7)))"
Range("B" & i).FormulaR1C1 = "=TEXT(YEAR(RC[-1]-WEEKDAY(RC[-1],2)+4)&""""&TEXT(INT(MOD(INT((RC[-1]-2)/7)+3/5,52+5/28))+1,""00""),""0"")"
End If
End If
Next
End Sub