Feuil1.[A4:A33].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Bonsoir à tous | ÉDITION: Bonsoir Dranreb |
Sub Macro1()
' Macro1 Macro
' Macro enregistrée le 01/07/2012 par Staple
Range("A3:E35").AutoFilter Field:=2, Criteria1:=""
End Sub
Sub SuppLigneVides()
Dim DerLi As Long, r As Long
With ActiveSheet.UsedRange
DerLi = .Row + .Rows.Count - 1
End With
For r = DerLi To 4 Step -1
If Cells(r, 2) = "" Then Rows(r).Delete
Next r
DerLi = Cells(Rows.Count, 1).End(xlUp).Row
Rows(DerLi + 1).EntireRow.Insert
End Sub
Sub Filtrer()
If Not ActiveSheet.FilterMode Then ActiveSheet.FilterMode = True
Range("C3:D35").AutoFilter Field:=1, Criteria1:="<>"
End Sub
Sub Afficher()
Selection.AutoFilter
End Sub
Ça m'est arrivé aussi au 1er test parce que j'avais dit de prendre les ligne entières de 4:33 qui contiennent toutes au moins une cellule vide dans une colonne quelconque ! Bien s’appuyer sur une seule colonne dont on veut supprimer les cellules vides définies par SpecialCells(xlCellTypeBlanks), le .EntireRow.Delete ne vient qu'à la fin.cela ne fonctionne pas car je perd les valeurs de mon tableau !
Moi voila ce que j'ai ecrit :
sub TRI_AVEC_PROTECTION()
'
' TRI_AVEC_PROTECTION Macro
' Macro enregistrée le 19/06/2012 par METZGER Jeannot
'
'
Range("A4:E1000").Select
ActiveSheet.Unprotect
Selection.Sort Key1:=Range("A4"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Ca me m'enleve rassemble les lignes sans enlever celles qui sont vides entre les lignes ou il y a des actifs financiers !
Sub Filtre()
Dim plage As Range
Set plage = Intersect([A2:E65536], ActiveSheet.UsedRange)
[F3].Formula = "=COUNT(A3:E3)"
plage.AdvancedFilter xlFilterInPlace, [F2:F3]
[F3] = ""
End Sub
Sub AfficheTout()
On Error Resume Next
ActiveSheet.ShowAllData
End Sub
Si cela fonctionne, sinon pourquoi j'aurai posté le code VBA...Desole Staple1600 mais cela ne fonctionne pas !
Sub Filtre()
Dim plage As Range
Set plage = Intersect([A2:E65536], ActiveSheet.UsedRange)
With [F3]
.Formula = "=COUNT(RC[-5]:RC[-1])>1"
plage.AdvancedFilter xlFilterInPlace, [F2:F3]
.Value = Empty
End With
End Sub
Sub Masque()
Dim plage As Range
Application.ScreenUpdating = False
On Error Resume Next
Set plage = Intersect([A3:E65536], ActiveSheet.UsedRange)
plage.EntireRow.Hidden = True
plage.SpecialCells(xlCellTypeConstants, 1).EntireRow.Hidden = False
plage.SpecialCells(xlCellTypeFormulas, 1).EntireRow.Hidden = False
End Sub
Sub AfficheTout()
Rows.Hidden = False
End Sub