Microsoft 365 Suppression lignes ENTIEREMENT vides

Moreno076

XLDnaute Impliqué
Bonsoir.

Je cherche à supprimer plusieurs lignes entièrement vides, j'ai essayé avec atteindre cellules mais ca me supprime aussi certaines cellules hors de la ligne vide.

Dans le fichier ci joint ce sont les lignes 9 et 14 que je veux supprimer. Bien sur le fichier original mais des centaines de lignes.

Si ca peut aider ces lignes à supprimer font toujours la même hauteur.

Merci pour votre aide.
 

Pièces jointes

  • SUP.xlsx
    14.8 KB · Affichages: 15

James007

XLDnaute Barbatruc
Bonsoir,

Tu devrais te simplifier la vie ...ET éviter toutes les cellules fusionnées ...

Pour supprimer les lignes vides

VB:
Sub Supprimer_Lignes_Vides()
' Lignes Vides sur la Base de la Colonne F
Dim der As Long
der = Sheet1.Cells(Rows.Count, 6).End(xlUp).Row
    With ActiveSheet.Range("A1:L" & der)
        .AutoFilter field:=6, Criteria1:=""
        .Offset(1, 0).EntireRow.Delete
        .AutoFilter
    End With
End Sub

Ci-joint ton fichier test
 

Pièces jointes

  • Test Moreno.xlsm
    21.6 KB · Affichages: 10

Moreno076

XLDnaute Impliqué
Bonsoir,

Tu devrais te simplifier la vie ...ET éviter toutes les cellules fusionnées ...

Pour supprimer les lignes vides

VB:
Sub Supprimer_Lignes_Vides()
' Lignes Vides sur la Base de la Colonne F
Dim der As Long
der = Sheet1.Cells(Rows.Count, 6).End(xlUp).Row
    With ActiveSheet.Range("A1:L" & der)
        .AutoFilter field:=6, Criteria1:=""
        .Offset(1, 0).EntireRow.Delete
        .AutoFilter
    End With
End Sub

Ci-joint ton fichier test
Merci James. Je n'ai pas le choix c'est une extraction qui arrive sous cette forme. L'astuce est bonne mais j'ai essayé de la reproduire pour la colonne C mais ca ne fonctionne pas je ne comprend pas. Désolé pas doué. Merci
 

Pièces jointes

  • testmacro.xlsm
    15.6 KB · Affichages: 8
Dernière édition:

Eric C

XLDnaute Barbatruc
Bonsoir le forum
Bonsoir Moreno, James

JamesB utilise une version Excel U.s. Tente de remplacer Sheet1 par Feuil1 et tout ira bien.
Ma signature.gif
 

Moreno076

XLDnaute Impliqué
Merci Eric. Effectivement avec feuil1 ca fonctionne mais d autres choses ne fonctionnent pas.
Dans la colonne I je met l'addition de la colonne G+H mais ca me met erreur lorsque ce n est pas un nombre et si j'utilise sierreur ca ne fait pas l'addition si il manque un nombre dans G ou H. J'ai aussi un soucis de couleur dans les regles. SI il n y a rien ca met automatiquement orange au lieu de blanc.

Merci pour votre aide
 

Pièces jointes

  • TEST SUP LIGN.xlsm
    23.7 KB · Affichages: 1

James007

XLDnaute Barbatruc
Re,

Tu te compliques grandement les choses ...

Ci-dessous ta macro corrigée

VB:
Sub Supprimer_Lignes_Vides()
' Lignes Vides sur la Base de la Colonne F'
Dim der As Long
der = Feuil1.Cells(Rows.Count, 5).End(xlUp).Row
    With ActiveSheet.Range("B3:L" & der)
        .AutoFilter field:=5, Criteria1:=""
        .Offset(1, 0).EntireRow.Delete
        .AutoFilter
    End With
End Sub
 

Moreno076

XLDnaute Impliqué
Re,

En espèrant que le fichier joint en Version 3 soit finalement ce que tu attends ... ;)

Presque je me suis trompé dans l'envoi du fichier il y a une colonne en trop

j'ai essayé de modifier macro

Option Explicit

Sub Supprimer_Lignes_Vides()
' Lignes Vides sur la Base de la Colonne F'
Application.ScreenUpdating = False
Dim der As Long
der = Feuil1.Cells(Rows.Count, 5).End(xlUp).Row + 1
Range("L3") = "Test"
Range("L4").FormulaR1C1 = "=COUNTA(RC[-10]:RC[-1])"
Range("L4").Copy Destination:=Range("L5:L" & der)
With Feuil1.Range("B3:L" & der)
.AutoFilter field:=10, Criteria1:="0"
.Offset(1, 0).EntireRow.Delete
.AutoFilter
End With
Columns("L:L").Delete Shift:=xlToLeft
Application.ScreenUpdating = True
End Sub

et ca me donne ca

1577039902877.png


Désolé
 

Discussions similaires