Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Simplifier code

5 réponses
Avatar
Jol
Bonjour,

Le code suivant me permet de supprimer les lignes dont la colonne B contient
les éléments entre guillemets, peut-on alléger ce code ?

For n = Range("B1000").End(xlUp).Row To 1 Step -1
If Range("B" & n).Value Like "ABS" Then Rows(n).Delete
If Range("B" & n).Value Like "PRES" Then Rows(n).Delete
If Range("B" & n).Value Like "RET" Then Rows(n).Delete
If Range("B" & n).Value Like "ELIM" Then Rows(n).Delete
If Range("B" & n).Value Like "FORFAIT" Then Rows(n).Delete
If Range("B" & n).Value Like "SC" Then Rows(n).Delete
If Range("B" & n).Value Like "RESE" Then Rows(n).Delete

En vous remerciant

5 réponses

Avatar
isabelle
bonjour Jol,

iList = Array("ABS", "PRES", "RET", "ELIM", "FORFAIT", "SC", "RESE")
For n = Range("B1000").End(xlUp).Row To 1 Step -1
For i = LBound(iList) To UBound(iList)
If Range("B" & n).Value Like iList(i) Then Rows(n).Delete
Next
Next

--
isabelle

Le 2011-04-19 05:54, Jol a écrit :
Bonjour,

Le code suivant me permet de supprimer les lignes dont la colonne B contient les éléments entre guillemets, peut-on alléger ce code ?

For n = Range("B1000").End(xlUp).Row To 1 Step -1
If Range("B" & n).Value Like "ABS" Then Rows(n).Delete
If Range("B" & n).Value Like "PRES" Then Rows(n).Delete
If Range("B" & n).Value Like "RET" Then Rows(n).Delete
If Range("B" & n).Value Like "ELIM" Then Rows(n).Delete
If Range("B" & n).Value Like "FORFAIT" Then Rows(n).Delete
If Range("B" & n).Value Like "SC" Then Rows(n).Delete
If Range("B" & n).Value Like "RESE" Then Rows(n).Delete

En vous remerciant

Avatar
MichD
Bonjour,

'----------------------------------------------
Sub Test()
Dim DerLig As Long, N As Long
With Worksheets("Feuil1") 'Nom Feuille à adapter
DerLig = .Range("B1000").End(xlUp).Row
For N = DerLig To 1 Step -1
Select Case .Range("B" & N).Value
Case "ABS", "PRES", "RET", "ELIM", "FORFAIT", "SC", "RESE"
.Rows(N).Delete
End Select
Next
End With
End Sub
'----------------------------------------------

MichD
--------------------------------------------
Avatar
LSteph
Bonjour,

'juste plus court

For n = 1000 To 1 Step -1
Select Case UCase(Range("B" & n))
Case "ABS", "PRES", "RET", "ELIM", "FORFAIT", "SC", "RESE"
Rows(n).Delete
End Select
Next

'LSteph

'sinon pour un peu plus rapide:

Sub apure()
Dim n As Long
Application.ScreenUpdating = False
For n = 1000 To 1 Step -1
Select Case UCase(Range("B" & n))
Case "ABS", "PRES", "RET", "ELIM", "FORFAIT", "SC", "RESE"
Rows(n).Delete
End Select
Next
Application.ScreenUpdating = True
End Sub
Avatar
Jol
Merci à vous deux, comme d'habitude c'est précis et ça fonctionne impec !

"Jol" a écrit dans le message de
news:iojm4r$ndd$
Bonjour,

Le code suivant me permet de supprimer les lignes dont la colonne B
contient les éléments entre guillemets, peut-on alléger ce code ?

For n = Range("B1000").End(xlUp).Row To 1 Step -1
If Range("B" & n).Value Like "ABS" Then Rows(n).Delete
If Range("B" & n).Value Like "PRES" Then Rows(n).Delete
If Range("B" & n).Value Like "RET" Then Rows(n).Delete
If Range("B" & n).Value Like "ELIM" Then Rows(n).Delete
If Range("B" & n).Value Like "FORFAIT" Then Rows(n).Delete
If Range("B" & n).Value Like "SC" Then Rows(n).Delete
If Range("B" & n).Value Like "RESE" Then Rows(n).Delete

En vous remerciant

Avatar
Jol
Encore "plus mieux", je n'ai que l'embarras du choix, merci à tous

"Jol" a écrit dans le message de
news:iok2qs$nbj$
Merci à vous deux, comme d'habitude c'est précis et ça fonctionne impec !

"Jol" a écrit dans le message de
news:iojm4r$ndd$
Bonjour,

Le code suivant me permet de supprimer les lignes dont la colonne B
contient les éléments entre guillemets, peut-on alléger ce code ?

For n = Range("B1000").End(xlUp).Row To 1 Step -1
If Range("B" & n).Value Like "ABS" Then Rows(n).Delete
If Range("B" & n).Value Like "PRES" Then Rows(n).Delete
If Range("B" & n).Value Like "RET" Then Rows(n).Delete
If Range("B" & n).Value Like "ELIM" Then Rows(n).Delete
If Range("B" & n).Value Like "FORFAIT" Then Rows(n).Delete
If Range("B" & n).Value Like "SC" Then Rows(n).Delete
If Range("B" & n).Value Like "RESE" Then Rows(n).Delete

En vous remerciant