XL 2010 supprimer ligne vide

MASSJIPE

XLDnaute Impliqué
Bonjour le forum
Est il possible de supprimer les lignes vide et autre voir fichier les lignes à supprimer sont repérer de couleur verte à savoir le tableau varie au fil de l'eau
merci
 

Pièces jointes

  • ligne vide.xlsm
    25.2 KB · Affichages: 66

DoubleZero

XLDnaute Barbatruc
Bonjour à toutes et à tous,

Une autre suggestion :
VB:
Option Explicit
Sub Lignes_supprimer()
  Application.ScreenUpdating = False
  Columns(3).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
  ActiveSheet.Range("c1:k100000").AutoFilter Field:=1, Criteria1:="Code-Libellé incident"
  Range(Range("c2"), Range("c2").End(xlDown)).SpecialCells(xlCellTypeVisible).SpecialCells(xlCellTypeConstants).EntireRow.Delete
  Range("c1").AutoFilter
  Application.ScreenUpdating = True
End Sub
A bientôt :)
 
Dernière édition:

MASSJIPE

XLDnaute Impliqué
Re
J'ai vérifié toutes les lignes et c'est ok.
Si c'est pas trop demandé est ce que l'on peut ajouter en M2 la formule =H2-ENT(H2) et en N2 =ENT(I2) et cela jusqu'à la dernière ligne.
Peut tu me détailler chaque ligne de t'on code pour comprendre
Merci et une bonne soiré
 

Staple1600

XLDnaute Barbatruc
Re

MASS JIPE
Tu as testée la dernière macro (celle du message#15) ?

Mais en relisant toute ta discussion, je me suis aperçu que ma macro supprime les lignes vraiment vides alors que ton souhait est au final de supprimer les lignes pour lesquelles la cellule C est vide.

Dans ce cas, privilégie la solution de 00 qui doit être plus rapide en théorie que la dernière macro de Chris401

Je te mets quand même des commentaires pour explications dans ma dernière macro
VB:
Sub mC()
Dim DL&
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
'Détermine la dernière ligne non vide de la colonne C
DL = Cells(Rows.Count, "C").End(xlUp).Row
'Dans la colonne M
With Range("M1:M" & DL)
'inscrit un formule qui compte les cellules vides dans les cellules A à K
    .Value = "=IF(COUNTBLANK(RC[-12]:RC[-2])=11,""$$$"",0)"
'si le nombre de cellules vides est égal à 11 alors on inscrit $$$ sinon 0
    .Value = .Value
'On transforme les formules en valeur seule
End With
'On supprime les lignes dont  les cellules contiennent $$$
'Ce qui revient donc à supprimer les lignes vides
Columns(13).SpecialCells(2, 2).EntireRow.Delete
'on supprime la colonne M
Columns(13).Delete
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

MASS JIPE
Je me suis permis de modifier le code de 00 et chez moi cela fonctionne
(mais Excel se fige le temps que la macro se finisse)
VB:
Sub Lignes_supprimer_BIS()
Application.EnableEvents = False
ActiveSheet.Rows("1:4").EntireRow.Delete
'job75 tribute
Intersect(ActiveSheet.[C:C], ActiveSheet.UsedRange.EntireRow).SpecialCells(4).EntireRow.Delete
Range("C1").CurrentRegion.AutoFilter Field:=1, Criteria1:="Code-Libellé incident"
ActiveSheet.AutoFilter.Range.Offset(1).SpecialCells(12).EntireRow.Delete
Range("C1").AutoFilter
Application.EnableEvents = True
End Sub
 

Discussions similaires

Réponses
9
Affichages
252

Statistiques des forums

Discussions
314 198
Messages
2 107 091
Membres
109 751
dernier inscrit
Bikaloulou dorel fesnell