Suppression de ligne sous condition

Bonjour, alors voilà j'ai un fichier de planning sur lequel il y a dans la colonne 1 une référence de pièce, dans la colonne 2 le nom de la pièce, et dans la colonne 3 il y a une somme de toutes les colonnes suivantes (dans lesquelles il y a juste des chiffres).

J'aimerai, lorsque cette somme est égale à 0, supprimer la ligne complète où cette condition est vérifiée. J'ai pour cela écrit le code suivant :

lignecourante = 6
While ((Worksheets("Planning").Cells(lignecourante, 1) <> " ")) 'on regarde sur toute la liste des pièces

    If ((Worksheets("Planning").Cells(lignecourante, 3) = 0)) Then

        Worksheets("Planning").Rows(lignecourante).Select
        Selection.Delete

    End If

lignecourante = lignecourante + 1
Wend

Cependant je le lance mais il est sans effets...

J'en appelle donc à votre aide !

En vous remerciant,

Cordialement

Bonjour,

il serait bien plus rapide - tout dépend du nombre de lignes à traiter - d'utiliser un filtre avancé

pour supprimer les lignes en une seule opération ! Soit dit en passant …

Bonjour,

essai ça voir si ça fonctionne.

Sub supp()
derligne = Cells(Rows.Count, 3).End(xlUp).Row
For i = derligne To 1 Step -1
    If Cells(i, 3) = 0 Then
        Rows(i).Delete
    End If
Next i
End Sub

Cordialement.

Bonjour,

Marc, mon fichier est destiné a une personne qui ne maîtrise pas excel, donc je cherche à automatiser au maximum le processus avec un seul bouton de manière à ce que ce soit le plus simple possible.

Et merci beaucoup bigdaddy, ça marche parfaitement !

Ce forum est vraiment génial, que des personnes prêtes à aider et au plus rapidement, vous êtes géniaux !

Le filtre avancé étant la méthode la plus efficace pour traiter des milliers de lignes par code, d'où ma question …

Oui je suis d'accord avec toi, mais le filtre avancé n'est pas pris en compte par les macros, puisque la liste, une fois les lignes où la somme est égale à 0 supprimées, est exportée vers une autre feuille pour un autre traitement (que je n'arrive d'ailleurs toujours pas à terminer, j'ai demandé également de l'aide ici https://forum.excel-pratique.com/excel/copie-de-ligne-variable-automatique-dans-une-autre-feuille-t61414.html )

« mais le filtre avancé n'est pas pris en compte par les macros » : d'où sort cette vilaine assertion ?‼

Le filtre avancé ayant toujours fonctionné par code ! Cela fait plus de dix ans que je l'utilise ainsi …

En dehors des aides d'Excel et du VBA, il y a même des tutoriels sur le net !

Et dans ton cas s'il s'agit d'exporter des lignes différentes de zéro, il n'y a même pas besoin de supprimer celles à zéro

justement grâce à un filtre avancé, c'est pourtant le B-A-BA d'Excel …

Rechercher des sujets similaires à "suppression ligne condition"