lundi matin et lignes vides

  • Initiateur de la discussion Initiateur de la discussion poipoi
  • Date de début Date de début

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 !

poipoi

XLDnaute Impliqué
bonjour le forum

Si j'arrive bien à supprimer les lignes de la colonne D vides ou égales à 0 dans mon tableau joint,
je ne parviens pas à garder celles situées au-dessus de la dernière cellule D non vide (une ligne sur 2), en fait mon code supprime tout. (D'autant que la dernière cellule D non-vide ou égale à 0 n'est jamais située au même endroit ce qui fait que je ne peux spécifier une plage).
est-ce que tout cela vous parle?
merci par avance
 

Pièces jointes

Re : lundi matin et lignes vides

Bonjour,

je ne comprend pas ton problème,
le code fait bien ce que tu lui as demandé: à savoir de la ligne 1 jusqu'à la dernière (90 dans ton exemple), il supprime TOUTES les lignes pour lesquelles la colonne D est vide ou égale à 0

quelles lignes souhaites tu garder exactement?
 
Re : lundi matin et lignes vides

bonjour vgendron
et merci...
je souhaite supprimer les lignes vides de la colonne D qui se situent au dessous de la dernière non vide ou égale à 0 (ici le 17) mais garder celles qui précèdent de telle sorte à avoir ce qui figure dans la feuille "après" qui est un exemple...
 
Dernière édition:
Re : lundi matin et lignes vides

ok,
si je comprend mieux, tu laisses les lignes vides entre les lignes qui contiennent quelque chose..

en supposant que toutes les lignes contenant des data se situent en haut de la feuille

Code:
Sub Elimine_0()
Dim Lig%
Application.ScreenUpdating = 0

For Lig = [d65536].End(xlUp).Row To 1 Step -1
If Range("d" & Lig).Value = 0 Then
    Rows(Lig).Delete
    Else: Exit For
End If

Next Lig
End Sub

sinon, si tu peux avoir des lignes vides en plein milieu
Code:
Sub Elimine_2()
Dim Lig%
Application.ScreenUpdating = 0

For Lig = [d65536].End(xlUp).Row To 2 Step -2
    If Range("d" & Lig).Value = 0 Then
        Rows(Lig).Delete
        Rows(Lig - 1).Delete
    End If

Next Lig
End Sub
 
- 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

Réponses
3
Affichages
493
Réponses
3
Affichages
584
Retour