Supprimer ligne vide

Bonjour ,

je veux trouver une macro ou formule pour supprimé les ligne vide.

Merci

Bonjour

Tu as quelques exemples sous ce message

Cordialement

Bonjour

Sub Supprime_lignes_vides()
    Dim I As Long

    Application.ScreenUpdating = False
    With ActiveSheet
    For I = .UsedRange.Rows.Count To 1 Step -1
        If Application.CountA(Rows(I)) = 0 Then
            Rows(I).Delete
        End If
    Next I
    End With

    Application.ScreenUpdating = True
End Sub

A voir

Bonjour ,

moi la ligne a supprimé c a partir de colonne "B"

Merci

Bonjour toutes et tous

coucou Patty5046

@ abdernino : un exemple ci joint si rien dans une des cellules de la colonne B de l'onglet Feuil1

Note ne pas supprimer les 2 macros ci_joints

crdlt,

André

Bonjour @coucou Patty5046,

Merci beaucoup

Bonjour ,

Je viens de l'essayer sur mon fichier qui contient 4000 lignes , la macro ne s'arrête pas et j'essaye de l'arrêté je constate qu'il y a toujours des ligne vide.

Merci

Bonjour

@ Abdernino, Est-ce que tu as bien nommé la feuille ?

Feuil1 a remplacé les 2 Feuil1 par le nom de ton onglet du classeur

For Each d In Sheets("Feuil1")

et

For Each c In Sheets("Feuil1")

Aperçu avec 6296 lignes (nouvelle version ci_jointe)

crdlt,

André

Bonjour ,

1-mon problème c'est que la ligne est vide , mais a l'intérieur il y a une formule .

2- quand je lance la macro elle ne s'arrête pas .

le fichier est trop volumineux impossible de t'envoyé le fichier

Merci

Bonjour,

pour la 1 : aucune idée, si ligne(s) supprimé(es) effacera formules etc.

pour la 2une macro peut être stoppée en cours d'exécution

Avec les 2 touches du clavier Ctrl + Pause* (Engl.Break*)

https://www.excel-pratique.com/fr/astuces_vba/stopper_macro.php

plus d'idées là

crdlt,

André

Bonjour ,

je laisse plus de 5 minute , après je force l'arrêt de la macro et j'ai toujours des lignes vide .

Merci

Bonjour,

il faudrait voir le fichier peut-être que tes colonnes ont des filtres ou des formules oui des lignes masquées , peux-tu joindre un fichier en ôtant les données sensibles

merci

crdlt,

André

Bonjour,

Une proposition à étudier.

La procédure supprime les lignes vides et les lignes avec formules ayant pour résultat une chaîne vide.

On traite la colonne B (2) et la 1ère. ligne comporte un en-tête de colonne.

Cdlt.

Public Sub CleanData()
Dim n As Long
Dim Cell As Range, rng As Range, Urng As Range
    With ActiveSheet
        n = .Cells(.Rows.Count, 2).End(xlUp).Row
        Set rng = .Cells(2, 2).Resize(n - 1).SpecialCells(4)
        If Not rng Is Nothing Then
            For Each Cell In rng
                If Urng Is Nothing Then
                    Set Urng = Cell
                Else
                    Set Urng = Union(Urng, Cell)
                End If
            Next Cell
        End If
        Set rng = .Cells(2, 2).Resize(n - 1).SpecialCells(-4123, 3)
        If Not rng Is Nothing Then
            For Each Cell In rng
                If Len(Cell) = 0 Then Set Urng = Union(Urng, Cell)
            Next Cell
        End If
    End With
    Urng.EntireRow.Delete shift:=xlUp
End Sub

Bonjour,

Set rng = .Cells(2, 2).Resize(n - 1).SpecialCells(4): Apres débogage cette ligne est jaune

Merci

Re,

J'ai une nouvelle omis la gestion d'erreurs!...

Public Sub CleanData()
Dim n As Long
Dim Cell As Range, rng As Range, Urng As Range
    With ActiveSheet
        n = .Cells(.Rows.Count, 2).End(xlUp).Row
        On Error Resume Next
        Set rng = .Cells(2, 2).Resize(n - 1).SpecialCells(4)
        On Error GoTo 0
        If Not rng Is Nothing Then
            For Each Cell In rng
                If Urng Is Nothing Then
                    Set Urng = Cell
                Else
                    Set Urng = Union(Urng, Cell)
                End If
            Next Cell
        End If
        On Error Resume Next
        Set rng = .Cells(2, 2).Resize(n - 1).SpecialCells(-4123, 3)
        On Error GoTo 0
        If Not rng Is Nothing Then
            For Each Cell In rng
                If Len(Cell) = 0 Then Set Urng = Union(Urng, Cell)
            Next Cell
        End If
    End With
    If not Urng is nothing then Urng.EntireRow.Delete shift:=xlUp
End Sub

RE ,

maintenant le problème est sur cette ligne :If Len(Cell) = 0 Then Set Urng = Union(Urng, Cell)

Re,

Il est grand temps de joindre un fichier représentatif de tes données.

Cdlt.

RE,

y a t'il un moyen dt'envoyé mon fichier

comment envoyé un fichier volumineux ??

Bonjour,

ici par exemple https://www.cjoint.com/

La taille des documents acceptés est limitée à 15 Mo.

crdlt,

André

Rechercher des sujets similaires à "supprimer ligne vide"