Suppression de ligne si condition

Bonjour,

Dans le fichier ci-joint, j'aimerais supprimer toutes les lignes ne contenant pas la valeur 3 en colonne Q. J'ai bien essayer cette formule mais elle ne fonctionne pas:

Sub EntireRow()
Dim I As Integer
For I = Range("Q" & Rows.Count).End(xlUp).Row To 1 Step -1
If Cells(I, 17) = "" Then Cells(I, 1).EntireRow.Delete
Next I
End Sub

Merci par avance pour l'aide que vous pourrez m'apporter.

8classeur1.zip (52.80 Ko)

Bonsoir Krimo48

1) Il faut récupérer le numéro de la dernière ligne mais sur une colonne ou il y a des valeurs partout
2) Ne jamais donné un nom de procédure qui peut être une propriété VBA
3) Utilisez des variables et donnez leur un nom explicite
4) Pensez développement objet et indiquez sur quel objet vous travaillez

Voici une possibilité

Sub SupLigneVideenQ()
  Dim dLig As Long, Lig As Long
  With ThisWorkbook.Sheets("Page1_3")
    dLig = .Range("A" & Rows.Count).End(xlUp).Row
    For Lig = dLig To 2 Step -1
      If .Range("Q" & Lig).Value <> 3 Then .Range("Q" & Lig).EntireRow.Delete
    Next Lig
  End With
End Sub

A+

Bonsoir à tous !

Une approche par formule :

=FILTRE(Page1_3!A2:U43;Page1_3!Q2:Q43=3)

La piste Power Query a été étudiée ?

Monsieur fait du cross posting

Je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER] et notamment :

  • Ne postez pas la même question sur un autre forum pour éviter de faire perdre bêtement du temps aux membres sur un problème qui peut être déjà résolu sur l'autre forum. L'inverse est également valable, si vous avez déjà posé votre question sur un autre forum, ne créez pas un doublon sur ce forum (à moins d'avoir clôturé le sujet sur l'autre forum).

En attendant je clôture celui-ci

Rechercher des sujets similaires à "suppression ligne condition"