Private Sub Worksheet_Activate()
Dim d As Object, c As Range, n&
Set d = CreateObject("Scripting.Dictionary")
d.CompareMode = vbTextCompare
For Each c In Feuil1.[A1].CurrentRegion.Columns(1).Cells
If Not c.Rows.Hidden Then d(c.Value) = ""
Next
n = d.Count
If FilterMode Then ShowAllData 'si la feuille des résultats est filtrée
With [A1] '1ère cellule de destination
.Resize(n) = Application.Transpose(d.keys) 'Transpose est limitée à 65536 lignes
.Offset(n).Resize(Rows.Count - n - .Row + 1).ClearContents 'RAZ en dessous
End With
With UsedRange: End With 'actualise la barre de défilement verticale
End Sub