Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Supprimer les lignes à 0 dans 2 colonnes

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Choup7231

XLDnaute Nouveau
Bonjour,

Dans mon fichier Excel, j'aimerais supprimer les lignes à 0 dans mes colonnes D et E. Mais dans ces 2 colonnes D peut être à 0 mais pas E et inversement.
Je n'arrive pas à trouver le VBA correspondant. Je n'ai trouvé que pour la colonne D mais ça efface E même si la c'est supérieur à 0.

Merci pour vos retour 🙂
 
Bonjour Choup, et bienvenu sur XLD,
Faites un ET sur les tests, si Dxx=0 AND Exx=0 THEN supprimer ligne :
VB:
If Cells(N, "D") = 0 And Cells(N, "E") = 0 Then Cells(N, 1).EntireRow.Delete
Pour plus de précision, fournissez nous un petit fichier test anonyme et représentatif.
 
Bonjour,

Voici le fichier test. Les dates en 00/01/1900 sont normales c'est que dans mon autre fichier je n'ai pas de date. Donc je souhaite les supprimer aussi. Dans le fichier j'ai presque 700 lignes et je veux importer dans mon logiciel que les lignes donc les valeurs sont supérieurs à 0.

Sa me donne ça en VBA :

Option Explicit

Sub Test()
Dim Lig%
Application.ScreenUpdating = 0

For Lig = [D65536].End(xlUp).Row To 1 Step -1
If Cells(N, "D") = 0 And Cells(N, "E") = 0 Then Cells(N, 1).EntireRow.Delete
Next
End Sub


Mais sa beug à Sub Test() maintenant.
 

Pièces jointes

Ben évidemment, si votre variable s'appelle Lig et que vous accéder à la cellule de la ligne N, ça bogue.
Essayez ça, c'est mieux 🙂 :
VB:
Sub Test()
    Dim Lig#
    Application.ScreenUpdating = 0
    For Lig = [D65535].End(xlUp).Row To 1 Step -1
        If Cells(Lig, "D") = 0 And Cells(Lig, "E") = 0 Then Cells(Lig, 1).EntireRow.Delete
    Next
End Sub
De plus Lig% veut dire Integer donc limité à 32767. A remplacer par double si vous allez au delà de ce nombre. Ou alors vous faites For Lig = [D32767].End(xlUp).Row To 1 Step -1 avec Lig%
 
Super ça fonctionne 🙂 Je vous remercie beaucoup
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…