Suppression de lignes en VBA

Résolu/Fermé
Tydher Messages postés 123 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 17 mai 2011 - 19 avril 2011 à 14:53
Tydher Messages postés 123 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 17 mai 2011 - 20 avril 2011 à 09:05
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

ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
Modifié par ccm81 le 19/04/2011 à 16:36
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
Tydher Messages postés 123 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 17 mai 2011 6
20 avril 2011 à 09:05
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