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
Apparemment tu as encore zappé une de mes questions...Peut tu me détailler chaque ligne de t'on code pour comprendre
La dernière macro de Chris401 reprend peu ou prou la syntaxe que je te proposais dès le message#3
Est-ce à dire que tu n'avais pas testé ma proposition du message#3?
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
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
Re
cette ligne est en erreur
ActiveSheet.Range("c1:k100000").AutoFilter Field:=1, Criteria1:="Code-Libellé incident"