1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| Sub extract()
Dim DerLig As Long
Dim I As Byte
Dim Sh As Worksheet
Application.DisplayAlerts = False
Application.ScreenUpdating = False
For Each Sh In Sheets
If Sh.Name <> "donnees" Then Sh.Delete
Next Sh
With Sheets("donnees")
DerLig = .Range("A65000").End(xlUp).Row
.Range("A1:C" & DerLig).Name = "base"
.Range("G1").Value = .Range("A1")
.Range("A1:A" & DerLig).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range("G1" _
), Unique:=True
For I = 2 To .Range("G65000").End(xlUp).Row
.Range("G2").Value = .Cells(I, 7).Value
Sheets.Add After:=Sheets(Sheets.Count)
.Range("base").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=.Range("G1:G2"), _
CopyToRange:=Range("A1"), Unique:=False
ActiveSheet.Name = .Range("G2").Value
Next I
.Columns(7).Clear
.Select
End With
Application.DisplayAlerts = True
End Sub |
Partager