Suppression de lignes en VBA

[Résolu/Fermé]
Signaler
Messages postés
123
Date d'inscription
vendredi 5 juin 2009
Statut
Membre
Dernière intervention
17 mai 2011
-
Messages postés
123
Date d'inscription
vendredi 5 juin 2009
Statut
Membre
Dernière intervention
17 mai 2011
-
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

Messages postés
10151
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
18 octobre 2021
2 230
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
Messages postés
123
Date d'inscription
vendredi 5 juin 2009
Statut
Membre
Dernière intervention
17 mai 2011
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