Conditions stockées dans une plage

sebou_hu

XLDnaute Nouveau
Bonjour à tous,

Je vous soumets une question relativement simple mais que je n'ai pour l'instant résolue qu'à coup de :

Code:
If ... Or ... Or ... Or Then

En effet je souhaite (voir fichier-joint), supprimer entièrement toutes les lignes qui contiennent la marque "seat" OU "opel" OU "peugeot"

Grâce à cet excellent forum je résous déjà la question ainsi :

Code:
Sub test()


Application.ScreenUpdating = False

For i = 2 To Sheets(1).Range("O65000").End(xlUp).Row

If Sheets(1).Range("O" & i) = "seat" Or _
Sheets(1).Range("O" & i) = "peugeot" Or _
Sheets(1).Range("O" & i) = "opel" Then

Rows(i & ":" & i).EntireRow.Delete
i = i - 1
End If
Next i

End Sub


J'aurais cependant aimé afin d'éviter un If ... Or ... Or .. Or trop long, mettre les marques que je mets dans le "if" dans une plage de données et que le if fasse son Or ... Or ... dans cette plage (voir fichier)

Merci mille fois d'avance
Bonne continuation à tous :cool:
 

Pièces jointes

  • suppression_ligne_auto.xls
    27 KB · Affichages: 35

bqtr

XLDnaute Accro
Re : Conditions stockées dans une plage

Bonsoir sebou_hu

Essaye avec ce code :

Code:
Sub Sup_ligne()

Dim tablo, i As Long, j As Integer

Application.ScreenUpdating = False
tablo = Range("J1:J" & Range("J65536").End(xlUp).Row)
For j = 1 To UBound(tablo)
   For i = Range("O65536").End(xlUp).Row To 14 Step -1
       If tablo(j, 1) = Cells(i, 15) Then Rows(i).Delete
   Next i
Next j
Application.ScreenUpdating = True

End Sub

Pour l'exemple, la liste des marques à supprimer est à mettre en colonne J à partir de J1. Il ne doit y avoir rien d'autre dans cette colonne où alors il faudra limiter la plage. (par exemple J1:J7).

Bonne nuit à tous
 

Discussions similaires

Réponses
7
Affichages
405

Statistiques des forums

Discussions
312 491
Messages
2 088 889
Membres
103 982
dernier inscrit
krakencolas