Sub Extrait()
Dim w As Worksheet, n&
Application.ScreenUpdating = False
With Sheets("Donnée de base").UsedRange.Offset(3).Resize(, 9) 'adapter si nécessaire
If .Parent.FilterMode Then .Parent.ShowAllData 'si la feuille est filtrée
.Cells(1, 10) = 1: .Columns(10).DataSeries 'numérotation en colonne J
If .Rows.Count > 3 Then
.Cells(1, 10) = 1
.Columns(10).Resize(.Rows.Count - 3).DataSeries 'numérotation en colonne J
.Resize(, 10).Sort .Columns(3), Header:=xlNo 'tri sur la colonne C
End If
.Resize(, 10).Sort .Columns(3), Header:=xlNo 'tri sur la colonne C
For Each w In Worksheets
If w.Name <> "Accueil" And w.Name <> .Parent.Name Then
If w.FilterMode Then w.ShowAllData 'si la feuille est filtrée
w.Rows("4:" & w.Rows.Count).Delete 'RAZ
n = Application.CountIf(.Columns(3), w.Name)
If n Then .Rows(Application.Match(w.Name, .Columns(3), 0)).Resize(n).Copy w.Range("A3") 'copier-coller
End If
Next
.Resize(, 10).Sort .Columns(10), xlAscending, Header:=xlNo 'tri sur la olonne J pour rétablir l'ordre initial
.Columns(10).ClearContents
End With
End Sub