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

suppression lignes vides

N

nat

Guest
bonjour à tous

après recherche sur forum je n'est pas trouvé la solution.
j'ai un tableau de 5000 lignes et j'aimerais supprimer les lignes vides si vous avez une solution je suis preneuse

merci à tous
 
P

Pascal76

Guest
SAlut Nat et le forum

Une petite macro du genre

For x = range("A65536").end(xlup.row to 1 step -1
if range("A" & x) = "" then rows(x).delete
next

Dans l'idée où si ta colonne A est vide toute ta ligne est vide. Tu adaptes.

Bon courage

Pascal
 
M

Mud

Guest
Salut Pascal,

J'ai le même soucis que Nat, j'ai donc essayé ta petite macro (voir ci-dessous).

For x = Range("65536").End(xlUp.Row) To 1 Step -1
If Range("A" & x) = "" Then Row(x).Delete
Next
End Sub

Par contre, dès que j'essaye d'activer cette macro, il surligne la fonction xlup et m'affiche le message d'erreur suivant "Erreur de compilation : Qualificateur incorrect".

J'avoue que je n'ai aucune notion des macros sous excell et que la solution est peut être toute simple, mais je te saurais reconnaissant si tu pouvais m'aider à résoudre mon pb.

D'avance merci.
 
P

Pascal76

Guest
Bonjour

Petite erreur dans l'écriture qui venait de moi d'ailleurs, j'avais oublié une parenthèse

For x = Range("A65536").End(xlUp).Row To 1 Step -1

Bon courage

Pascal
 
U

utilsfr

Guest
Bonjour

Premier code

Supprime toute les lignes vides j'usqu'à la dernière cellule plein

Sub DétruireLigne()
derniereLigne = ActiveSheet.UsedRange.Rows.Count
Application.ScreenUpdating = False
For r = derniereLigne To 1 Step -1
If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete
Next r
End Sub

ou

Deuxième code

Supprimer dans un tableau les lignes vides

Sub supprlignesvides()
Dim maplage As Range
Set maplage = Range("a1")
While Range(maplage.End(xlDown).Address(rowabsolute:=False, columnabsolute:=False)).Value <> ""
Set maplage = Range(maplage.End(xlDown).Address(rowabsolute:=False, columnabsolute:=False))
Wend
Dim derligne As Long
derligne = maplage.Row
Dim compteur As Long
For compteur = derligne To 1 Step -1
If Range("a" & compteur).Value = "" Then
Rows(compteur).Delete
End If
Next compteur
End Sub


ROBERT René
 
T

tom

Guest
Moi je n'arrive qu'à les masquer, les autres codes trouvés sur le Web me plante le PC.

Sub Masquer ()
'
' Masquer Macro
' Macro enregistrée le xx/xx/xxxx par Tom


For Each c In Selection
If Application.CountA(c.EntireRow) = 0 Then Rows(c.Row).RowHeight = 0
Next c

End Sub
 

Discussions similaires

Réponses
10
Affichages
557
Réponses
9
Affichages
252
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…