Set tarif = .Cells(10, 1).Resize(Application.CountA(.[A10:A50000]), 13)
.[M1] = "FAMILLE"
For fam = 1 To 13
Worksheets("Modèle").Copy after:=Sheets(Sheets.Count) ' ajouter 1 feuille en dernière position
ActiveSheet.Name = Mid(Sheets("Nomenclature").Cells(2 + fam, 1), 4, 31) 'la nommer
.[M2] = fam 'num de famille dans zone de critère
tarif.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=.[M1:M2] 'filtre avancé "sur place"
tarif.SpecialCells(xlCellTypeVisible).Copy [A10] 'copie des lignes filtrées dans feuille active
Range("A:M").EntireColumn.AutoFit 'ajustement auto de la largeur des colonnes
[A10].CurrentRegion.Sort key1:=[E11], Header:=xlYes 'tri sur n° de groupe (inutile si tri déjà réalisé sur n° de groupe dans Tarif)
[M11].Resize(Application.CountA([A11:A1000]), 1).FormulaR1C1 = "=RC[-5]*(1-RC[-1])"
For i = 12 To [E50000].End(xlUp).Row 'colonne CODE GEN dans feuille créée
If Cells(i, 5) <> Cells(i - 1, 5) Then
With Cells(i, 1).Resize(1, 13).Borders(xlEdgeTop)
.ColorIndex = xlColorIndexAutomatic 'bordure noire au-dessus
.Weight = xlThick 'trait gras
End With
End If
Next i
.ShowAllData
Next fam
.[M1:M2].Clear
End With
Application.ScreenUpdating = True
End Sub