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 28 29 30 31 32 33 34 35 36 37 38 39
|
Option Explicit
Sub epurer ()
Dim triage As Collection
Dim nbre As Long, cptr As Long
'ActiveSheet.Unprotect
Application.ScreenUpdating = False
nbre = Application.CountA(Range("A:A"))
Set triage = New Collection
On Error Resume Next
cptr = 1
While cptr <= nbre
triage.Add Cells(cptr, 1).Value, CStr(Cells(cptr, 1).Value)
cptr = cptr + 1
Wend
On Error GoTo 0
nbre = triage.Count
' Ecrit la zone épurée (ici dans des cellules mais peut-etre adapté à des listbox et combobox)
Range("C:C").ClearContents
cptr = 1
While cptr <= nbre
Cells(cptr, 1) = triage(cptr)
cptr = cptr + 1
Wend
'ActiveSheet.Protect
End Sub |
Partager