Suppression de lignes en VBA

Résolu
Tydher Messages postés 127 Statut Membre -  
Tydher Messages postés 127 Statut Membre -
Bonjour à tous

Je souhaiterai supprimé des lignes qui contiennent une chaine de valeur spécifique :

Dim i As Integer
i = 3

While Cells(i, 1) <> "FIN"
    Cells(i, 1).Select
    If Cells(i, 1) = "*x*" Then
        Rows("i:i").Select
        Selection.Delete Shift:=xlUp
    End If
    i = i + 1
Wend


Cependant, l'algo me parcours seulement les cellules et me supprime jamais les lignes.
J'ai essayé avec
Rows(i),
Rows("i:i"), 
Range 
Cells 

et aussi une combinaison de Range(Cells(i,1) ....
mais sans succès.

Votre aide sera la bienvenue

2 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    bonjour
    essaies plutot comme ça,
    quand on supprime des lignes, il faut commencer par le bas

    Dim i As Integer  
    i = 10  
    While Cells(i, 1) <> "FIN"  
        If Cells(i, 1) = "*x*" Then  
          Cells(i, 1).EntireRow.Delete  
        End If  
        i = i - 1  
    Wend


    bonne suite
    0
  2. Tydher Messages postés 127 Statut Membre 6
     
    Merci ça marche niquel.

    J'ai d'abord récuperer la case la plus basse

    i = 1
    Cells(i, 1).Select
    While Cells(i, 1) <> "FIN"
        i = i + 1
    Wend


    Puis effectuer la boucle comme décrit au dessus

    While i <> 1
        If Cells(i, 1) = "x" Then
          Cells(i, 1).EntireRow.Delete
        End If
        i = i - 1
    Wend


    Merci beaucoup
    0