suppression de ligne sous conditions

  • Initiateur de la discussion Linlin
  • Date de début
L

Linlin

Guest
Bonjour,

Je n'arrive pas à créer n code qui me permette de supprimer les lignes que je veux!

Il s'agit de supprimer toutes les lignes qui ont pour valeur 'VALIDATION' dans la collone E, à partir de la cellule E4 (soit sur la zone (E4:E65000).

Quelq'un peut'il m'aider !!

merci
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Bonjour

Euh Raphou tu vas oublié des lignes par ton code (Si plusieurs lignes se suivent avec VALIDATION dans la colonne E tu en supprimes 1 sur 2)

Il faut boucler à l'envers c'est plus facile

For cpt = range('A65536').end(Xlup).row to 4 step -1

If Range('E' & cpt) = 'VALIDATION' Then Rows(cpt).Delete

Next cpt

Message édité par: Pascal76, à: 04/08/2005 15:54
 
L

Linlin

Guest
Merci a vous deux!

Est-ce que je peux rajouter une question !

Peut on supprimer de la même manière, les cellules de la même collone mais à l'intérieure desquelles on à le mot 'Somme', sachant que somme n'est qu'une partie de la valeur des cellules !

plus clairement si il y a des cellules avec par exemple 'Somme REFERENCE', la macro supprime cette ligne ??
 
D

Daniel

Guest
Bonjour Linlin, pascal et raphou,

J'ai la^même demande que Linlin suaf que moi au lieu de supprimer les cellules ôù il y à 'A SAISIR' (dans mon cas) dans une colonne, je doit supprimer les autres dont la valeure est en faite différente!

La deuxième question de linlin est elle adaptable également dans ce cas de figure

Merci beaucoup!
 
D

Daniel

Guest
Re bonjour pascal et Raphou!

J'ai trouvé le premier code mais je n'arrive vraiment pas à supprimer la ligne quand il n'y à qu'une partie du mot cherché !!!!


J'ai essayé ça :

Sub sup2()
For cpt = Range('c1000').End(xlUp).Row To 4 Step -1
If Range('c' & cpt) = Range('c' & cpt) Like '*Somme*' Then Rows(cpt).Delete
Next cpt
End Sub

Mais ça marche pas !!!!!
 

PascalXLD

XLDnaute Barbatruc
Modérateur
RE

Daniel tu as déjà une erreur dans ton code (la partie rouge est de trop)

Sub sup2()
For cpt = Range('c1000').End(xlUp).Row To 4 Step -1
If Range('c' & cpt) = Range('c' & cpt) Like '*Somme*' Then Rows(cpt).Delete
Next cpt
End Sub

Sub sup2()
For cpt = Range('c1000').End(xlUp).Row To 4 Step -1
If Range('c' & cpt) Like '*Somme*' Then Rows(cpt).Delete
Next cpt
End Sub

Sinon il serait bien que tu exprimes ta vrai demande car dans ton post plus haut tu neparles pas de supprimer des lignes qui contiennent du texte mais de garder des lignes qui en contiennent et de supprimer les autres.
 
D

DAniel

Guest
Ah oui! C'est mieux comme ça! je comprend!

Mais le temps de traitement de la macro est très important! N'y à t'il pas une autre solution pour la Booster! Un code qu selection toute les ligne où il y à la valeur et qui les supprime ensuite, sans afire une boucle qui mets beaucoup de temps ?

En tout cas merci Pascal!
 

PascalXLD

XLDnaute Barbatruc
Modérateur
RE

Essaies comme ceci

Sub sup2()
application.screenupdating=false
For cpt = Range('c1000').End(xlUp).Row To 4 Step -1
If Range('c' & cpt) Like '*Somme*' Then Rows(cpt).Delete
Next cpt
application.screenupdating=true
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 332
Messages
2 087 365
Membres
103 528
dernier inscrit
maro