Bonsoir le fil, bonsoir le forum,
En pièce jointe ton fichier modifié avec le code ci-dessous :
Public Sub Macro1()
Dim R As Worksheet 'déclare la variable R (onglet RVV)
Dim D As Worksheet 'déclare la variable D (onglet Destination)
Dim I As Byte 'déclare la variable I (Incrément)
Set R = Sheets("RVV") 'définit l'onglet R
'préparation du filtre avancée
For I = 1 To 7 'boucle sur 7 colonnes
R.Cells(1, I + 10).Value = I 'envoieI dans la cellule ligne 1, colonne I + 10 de l'onglet R
Next I 'prochaine colonne de la boucle
R.Cells(2, 11).Value = "FF" 'écrit "FF" dans la cellule K2
R.Cells(2, 12).Value = "GG" 'écrit "GG" dans la cellule L2
'filtre avancée
Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=R.Range("k1").CurrentRegion, _
CopyToRange:=R.Range("K4"), Unique:=False
'renvoie des données
Sheets.Add After:=Sheets(Sheets.Count) 'ajoute un onglet en dernière position
Set D = ActiveSheet 'définit l'onglet destination D
R.Range("K4").CurrentRegion.Copy D.Range("A1") 'copie le tableau filtré dans A1 de l,'onglet D
R.Columns("K:Q").Delete 'supprime le filtre avancé dans l'onglet R
'tri ascendant par rapport à la colonne 4
D.Sort.SortFields.Clear
D.Sort.SortFields.Add Key:=D.Range("D1"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveSheet.Sort
.SetRange D.Range("A1").CurrentRegion
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'suppression des colonne inutiles dans l'onglet D
D.Range("A1:B1,D1").EntireColumn.Delete
End Sub