Salut-les-khey
2021-08-20 23:21:05
Sub Supprimer_indesirables()
Application.ScreenUpdating = False
'Création de la collection liste noir
Dim listNoir As Collection
Set listNoir = New Collection
Dim FSO As New FileSystemObject
Dim fichiertxt As Object
Set fichiertxt = FSO.OpenTextFile("monfichier.txt")
While Not fichiertxt.AtEndOfStream
listNoir.Add (fichiertxt.ReadLine)
Wend
'Création du tableau mémoire
Dim tb() As Variant
Dim h_tb As Double: Dim l_tb As Byte
Dim i As Double
h_tb = Range("a1").End(xlDown).Row
l_tb = Range("a1").End(xlToRight).Column
ReDim tb(1 To h_tb)
For i = 1 To h_tb
tb(i) = Range("a" & i).Value
Next
'Process
Dim j As Double: Dim k As Double
For j = UBound(tb, 1) To LBound(tb, 1) Step -1
For k = 1 To listNoir.Count
If tb(j) Like "*" & listNoir(k) & "*" Then
Range("a" & j & ":" & "h" & j).Select
Selection.Delete Shift:=xlUp
End If
Next
Next
End Sub
Si je passe en full mémoire et que je note le numéro de toute les ligne qui ne coresspondent pas au match pour ensuite les déversé dans une feuille de calcul plutot que de les supprimer à la volé ?