Macro suppress ion lignes vides VBA

Cecinerock

XLDnaute Nouveau
Bonjour le Forum,

Je souhaiterais supprimer les lignes vides d'un tableau, cependant la difficulté c'est que les lignes remplies ne se suivent pas ..
c'est variable, on peut avoir
vous pouvez regarder l'exemple joint pour plus de détail :)
J'ai un code qui fait la même chose pour un tableau dont les lignes se succèdent ..
Sub supp()

Dim i As Variant
Dim cel As Range

For Each i In Array(7, 8, 9, 10, 11, 12)
Dim cellvalue As String
Cells(i, 3).Activate
cellvalue = ActiveCell.Value
If cellvalue = " " Then
Rows(i).Delete
End If

cellvalue = ActiveCell.Value
If cellvalue = " " Then
Rows(i).Delete
End If

cellvalue = ActiveCell.Value
If cellvalue = " " Then
Rows(i).Delete
End If

cellvalue = ActiveCell.Value
If cellvalue = " " Then
Rows(i).Delete
End If

cellvalue = ActiveCell.Value
If cellvalue = " " Then
Rows(i).Delete
End If

cellvalue = ActiveCell.Value
If cellvalue = " " Then
Rows(i).Delete
End If
Next i
End Sub

Quelqu'un pourrait-il m'aider ?

Merci bcp

;)
 

Pièces jointes

  • Test.xlsx
    28.5 KB · Affichages: 41
  • Test.xlsx
    28.5 KB · Affichages: 34
  • Test.xlsx
    28.5 KB · Affichages: 36

leop93

XLDnaute Occasionnel
Re : Macro suppress ion lignes vides VBA

Là je ne saurais t'en dire plus.

Erreur 1004, je ne sais pas trop à quoi cela correspond et je n'ai pas le temps de chercher sur internet (je suis moi aussi bloqué sur une marco VBA). J'ai pu te donner ce bout de code car je m'en suis servi en parti pour modifier mes feuilles dans mon projet.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Macro suppress ion lignes vides VBA

Bonjour le fil, bonjour le forum,

Il semblerait que les cellules qui paraissent vide ne le soient pas... Et du coup le code de Leop ne fonctionne pas bien (mais j'ai pas d'ereur chez moi) car il ne sélectionne que des lignes hors tableau.
je te propose le code ci-dessous :
Code:
Sub Macro1()
Dim dl As Long 'déclare la variable dl (dernière Ligne)
Dim x As Long 'déclare la variable x (incrément)
Dim pl As Range 'déclare la variable pl (Plage de Lignes)
Set ls = Range("A1") 'définit la plage de lignes pl
dl = Sheets("Feuil1").Cells(Application.Rows.Count, 2).End(xlUp).Row 'définit la dernière ligne éditée dl de la colonne B
For x = 3 To dl 'boucle sur toutes les lignes de 3 à la dernière ligne éditée
    If Application.WorksheetFunction.CountA(Rows(x)) < 9 Then 'contition 1 : si le nombre de cellules éditée dans la ligne est inférieur à 9
        If ls.Cells.Count = 1 Then 'condition 2 : si la plage de lignes pl contient une seule cellule
            Set ls = Rows(x) 'redéfinit la plage pl (la ligne entière de la boucle)
        Else 'sinon
            Set ls = Application.Union(ls, Rows(x)) 'redéfinit la plage pl (la plage + la ligne entière de la boucle)
        End If 'fin de la condition 2
    End If 'fin de la condition 1
Next x 'prochaine ligne de la boucle
ls.Delete 'supprime les ligne de la plage pl
End Sub

Attention ! une ligne dont toutes les cellules des colonnes A à I ne seront pas remplie, sera effacée !
 

JNP

XLDnaute Barbatruc
Re : Macro suppress ion lignes vides VBA

Bonjour le fil :),
Il y a des limitations au nombre de sélections discontinues, probablement la raison de ton erreur 1004 :rolleyes:...
Si ton tableau n'a pas l'obligation de rester dans l'ordre actuel, le plus rapide est souvent un tri qui va rassembler les lignes avec les cases vides :p...
Bonne suite :cool:
 

Cecinerock

XLDnaute Nouveau
Re : Macro suppress ion lignes vides VBA

salut tout le monde,

finalement j'ai continué à bidouiller entre temps, et j'ai trouvé un code qui tourne bien :
Sub SupprLignesVides()

Application.ScreenUpdating = False
Application.DisplayAlerts = False

Range("C65536").End(xlUp).Select
Do
If IsEmpty(ActiveCell) Then
ActiveCell.EntireRow.Delete
End If
ActiveCell.Offset(-1, 0).Select
Loop Until ActiveCell.Row = 1

Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

voila :)

Merci bcp pour vos réponses
 

Discussions similaires

Réponses
5
Affichages
243

Statistiques des forums

Discussions
312 448
Messages
2 088 500
Membres
103 871
dernier inscrit
julienleburton