Bonjour,
Une proposition à étudier.
J'ai considéré qu'il n' avait pas de lignes vides.
Après filtre, on copie les données de la colonne 1 (A) dans une nouvelle feuille.
Il serait judicieux de mettre les données sous forme de tableau.
As-tu réellement 700.000 lignes ?
Peux-tu joindre un fichier représentatif de tes données (une centaine de lignes, données anonymisées si nécessaire)
A te relire.
Cdlt.
Public Sub Copy_data()
Dim ws As Worksheet, Rng As Range, n As Long
With ActiveSheet
If .FilterMode Then .ShowAllData
With .Cells(1).CurrentRegion
.RemoveDuplicates 1, xlYes
.AutoFilter 2, "LO"
End With
Set Rng = .AutoFilter.Range.Columns(1)
n = Rng.SpecialCells(12).Rows.Count - 1
If n = 0 Then
MsgBox "Aucune donnée à copier !..."
Else
Set ws = Worksheets.Add
Rng.SpecialCells(12).Copy ws.Cells(1)
End If
.Range("A1").AutoFilter 2
End With
End Sub