Option Explicit
Dim memo 'mémorise la variable
Private Sub UserForm_Activate()
'---
With Sheets("Données")
If Not IsArray(memo) Then memo = .[A2].CurrentRegion 'à l'ouvertire de l'UserForm
'---
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Sheets("Données").[A2].CurrentRegion = memo
End Sub
' permet de trier la listview
' un clic sue l'entete trie en croissant
' un deuxième clic sue l'entete en décroissant
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
Dim col%, croissant As Boolean
col = ColumnHeader.Index
With Sheets("Données").[A2].CurrentRegion
croissant = .Cells(2, col) < .Cells(.Rows.Count, col)
.Sort .Columns(col), IIf(croissant, xlDescending, xlAscending), Header:=xlYes
End With
UserForm_Activate
End Sub