Optimisation suppression lignes

c.clappier

XLDnaute Nouveau
Bonjour,

J'ai écrit le code suivant afin de supprimer les lignes dont la 8 colonne comprend "Non".
Elle est très lente. Comment l'optimiser ?

Sub Suppression_Lignes()
Dim Num_ligne As Long
While Cells(Num_ligne, 8) <> ""
Num_ligne = 2
If Cells(Num_ligne, 8) <> "Ok" Then
Rows(Num_ligne).Delete
End If
Num_ligne = Num_ligne + 1
Wend
End Sub

Merci !
 
G

Guest

Guest
Re : Optimisation suppression lignes

Bonjour,

Sans classeur exemple, non testé:

Sub Suppression_Lignes()
Dim plg As Range
Dim derLigne As Long
derLigne = Cells(Rows.Count, 8).End(xlUp).Row
Dim Num_ligne As Long
For Num_ligne = derLigne To 2 Step -1
If LCase(Cells(Num_ligne, 8)) <> "ok" Then
' Set plg = IIf(plg Is Nothing, Cells(Num_ligne, 8), Union(plg, Cells(Num_ligne, 8)))
If plg Is Nothing Then
Set plg = Cells(Num_ligne, 8)
Else
Set plg = Union(plg, Cells(Num_ligne, 8))
End If
End If
Next Num_ligne
If Not plg Is Nothing Then plg.EntireRow.Delete
End Sub


Une petite recherche sur le forum t'aurait permis de trouver ta solution. Problème récurent.
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 504
Messages
2 089 072
Membres
104 018
dernier inscrit
Mzghal