supprimer lignes vides

news

XLDnaute Impliqué
Bonsoir Excell lent et à tous du forum,

j'ai sécletionné d'autres feuilles Excell de référecne ci-dssous
Feuilles Excel

dont j'ai trouvé une expression que j'ai besoin "Supprimer les lignes vides d'une plage",
je l'ai mis dans le fichier (ajoutes_lignes.xls) lien ci-dessus,



mais cela ne fonctionne pas ou je n'ai pas bien mis l'expression,

Sub DetruireLigne()
' Ce programme supprime les lignes vides dans une plage

Application.Goto Reference:="supprimer_lignes"
Range("A2").Select
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

merci d'avance des réponses éventuelles à ce sujet,
 

JCGL

XLDnaute Barbatruc
Re : supprimer lignes vides

Re,

Essaye avec :

Code:
Option Explicit ' Pierre-Jean sur XLD
Sub SupprimeLigneVide()
Dim n As Integer
Dim x As Integer
Dim Plein As Boolean
For n = Range("a65536").End(xlUp).Row To 2 Step -1
  For x = 1 To 11
    If Cells(n, x) <> "" Then Plein = True
    Exit For
  Next x
If Plein = False Then Rows(n).Delete
Plein = False
Next n

End Sub

A+
 

news

XLDnaute Impliqué
Re : supprimer lignes vides

Bonsoir,

En direct de l'enregistreur de macro (avec quelque modifs tout de meme)
Code:
Sub Macro1()
Application.ScreenUpdating = False
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub



ce code n'est plutôt pas à utiliser, en effet supprime toutes les lignes,

car lorsque la column(A) est vide,
mais si dans column (B) ou column (K) il y a un montant ou du texte,cette ligne est également supprimé,

expression n'étant pas complète,
merci quand même pour réponse,

bonne soirée,
 

news

XLDnaute Impliqué
Re : supprimer lignes vides

Bonsoir,

j'ai essayé l'expression suviante que j'ai mis sous ThisWorkbook,
mais rien fontionne,
ou je ne l'ai peut-être pas bien mis, ci-dessous lien:



Option Explicit ' Pierre-Jean sur XLD
Sub SupprimeLigneVide()
Dim n As Integer
Dim x As Integer
Dim Plein As Boolean
For n = Range("a65536").End(xlUp).Row To 2 Step -1
For x = 1 To 11
If Cells(n, x) <> "" Then Plein = True
Exit For
Next x
If Plein = False Then Rows(n).Delete
Plein = False
Next n
End Sub


je voudrais demander l'expression ce que veut dire : For x = 1 To 11

merci d'avance de réponse,
 

JCGL

XLDnaute Barbatruc
Re : supprimer lignes vides

Re,

Mets ce code dans un module... et fait un appel par bouton ou F8

For x = 1 To 11 : de la colonne 1 à la colonne 11

Encore une fois News : mets tes fichiers sur XLD et non pas sur un FTP (je t'ai déjà fait la remarque sur VeriTi...)

Ce fil ne voudra plus rien dire si tu décides d'effacer les fichiers de ton FTP ou autres....

Je ne répondrai plus à tes messages tant que tu ne respecteras pas cette consigne

A+
 
Dernière édition:

news

XLDnaute Impliqué
Re : supprimer lignes vides

Bonsoir,

également l'expression suivante supprime toutes les lignes,
dès que column(A) est vide,
et supprime aussi les lignes si p.ex. Range(A24) est vide,
mais dans Range(K24) il y a du texte ou un montant,

Sub SupprimeLigneVide()
Dim n As Integer
Dim x As Integer
Dim Plein As Boolean
For n = Range("a65536").End(xlUp).Row To 2 Step -1
For x = 1 To 11
If Cells(n, x) <> "" Then Plein = True
Exit For
Next x
If Plein = False Then Rows(n).Delete
Plein = False
Next n

End Sub


est-ce que la référence de l'expression est basé que sur column(A) ?,
 

Staple1600

XLDnaute Barbatruc
Re : supprimer lignes vides

Re


Sub DetruireLigne()
' Ce programme supprime les lignes vides dans une plage

Application.Goto Reference:="supprimer_lignes"
Range("A2").Select
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


Je me suis basé sur cette macro qui telle quelle
s'occupe de la colonne A (ou Columns(1))

Je ne suis pas allé voir ton fichier

mais la macro que je t'ai proposé fait ce qu'on lui demande
à savoir supprimer les lignes vides de la colonne A.

Quelles sont les conditions exactes de suppression de ligne?

Si une cellule de la plage est vide on supprime la ligne?
Si toutes les cellules de la ligne sont vides on supprime la ligne?
 
Dernière édition:

news

XLDnaute Impliqué
Re : supprimer lignes vides

Bonsoir,

merci de la réponse,

les références de supprimer à utiliser sont:

Si toutes les cellules de la ligne sont vides on supprime la ligne?
la ligne est supprimé

Si une cellule de la plage est vide on supprime la ligne?
> la ligne n'est pas supprimé

merci de la réponse
 

Staple1600

XLDnaute Barbatruc
Re : supprimer lignes vides

Re


A tester (chez moi cela semble fonctionner)
Code:
Sub SupprimeLigneVide()
'Pierre-Jean sur XLD
'cité par JCGL
'modifié par S1600
Dim n As Integer
Dim x As Integer
For n = Range("a65536").End(xlUp).Row To 2 Step -1
  For x = 1 To 11
  If Not IsEmpty(Cells(n, x)) Then Exit For
Next x
  If IsEmpty(Cells(n, x)) Then Rows(n).Delete
Next n
End Sub
edit:
Pris d'un doute, j'ai teste la macro de JCGL de Chez PierreJean
En fait celle-ci (la modifiée) fait exactement la même chose que la macro de PierreJean citée par JCGL.

Je ne comprends pas ce qui ne va dans ces macros pour toi?

Car elles font pourtant ce que tu demandes

Si une seule cellule contenue dans une plage(Ax:Kx) est vide, la ligne n'est pas supprimée
Si toutes les cellules sont vides, la ligne est supprimée.
 
Dernière édition:

news

XLDnaute Impliqué
Re : supprimer lignes vides

Bonjour à tous du forum,

merci pour réponse,
j'ai mis l'expression indiquée,

Sub SupprimeLigneVide()
Dim n As Integer
Dim x As Integer
For n = Range("a65536").End(xlUp).Row To 2 Step -1
For x = 1 To 11
If Not IsEmpty(Cells(n, x)) Then Exit For
Next x
If IsEmpty(Cells(n, x)) Then Rows(n).Delete
Next n
End Sub


les lignes vides sont supprimées si toutes les cellules sont vides,
dès que p.e.x Range("K24") <>0, cette ligne n'est pas supprimée,

mais dans le test que j'ai effectué toutes les lignes vides[ lignes(29:54) ]
derrière la dernière ligne [ Range ("A28")<>0 ], ne sont pas supprimées,

bonne journée encore,
 
Dernière édition:

news

XLDnaute Impliqué
Re : supprimer lignes vides

Bonjour à tous du forum,

merci des réponses, dont les expressions fonctionnaient que partiellement
au moins suivant les test que j'ai fait,

ou bien il y avait un bug, ou bien supprimé bien les lignes rows mais supprimé également si autre cells p.ex. Range(B24:L24) <>0
ou bien supprimé bien les lignes, mais s'il y avaient des lignes vides encore après la dernière ligne dont Range<> 0, ceux-là n'étaient pas supprimées,

ci-dessous l'expression focntionnant:

Sub RemoveEmptyRows()

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim rw As Long, iCol As Long
For rw = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
If Application.CountA(Rows(rw).EntireRow) = 0 Then _
Rows(rw).Delete
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub

bonne soirée encore,
 

Discussions similaires

Réponses
3
Affichages
555

Statistiques des forums

Discussions
312 452
Messages
2 088 543
Membres
103 880
dernier inscrit
rafaelredsc