Sub Centralisation()
For Each sh In ThisWorkbook.Worksheets
Sheets("Année").Range("A" & i + 1) = sh.Name
i = i + 1
Next sh
Sheets("Année").Select
Range("A1").Select
ActiveWorkbook.Names.Add Name:="Mois", RefersToR1C1:= _
"=OFFSET(Année!R1C1,,,COUNTA(Année!C1)-1)"
With Sheets("Année")
Set Mois = .Range("Mois")
End With
Onglet = Mois
Range("B9").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Clear
For Each Worksheet In ThisWorkbook.Worksheets
If Not IsError(Application.Match(Worksheet.Name, Onglet, 0)) Then
Worksheet.Activate
Range("a9:b" & Range("b65000").End(xlUp).Row).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Année").Select
Sheets("Année").Range("B65536").End(xlUp).Offset(1).Select
ThisWorkbook.Sheets("Année").Paste
Application.CutCopyMode = False
End If
Next
Range("B9").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.Range("$B$8:$C$21").RemoveDuplicates Columns:=Array(1, 2), Header _
:=xlYes
ActiveWorkbook.Worksheets("Année").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Année").Sort.SortFields.Add Key:=Range("B9:B21"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Année").Sort.SortFields.Add Key:=Range("C9:C21"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Année").Sort
.SetRange Range("B8:C21")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub