Que ce qui est utile à l'écran
On peut travailler sur une feuille tout ce qui a de classique, c'est à dire avec 256 colonnes et 65636 lignes.
Mais doit-on les avoir toutes à l'écran ? On pourrait par clarté de lecture, n'afficher que la plage de cellules réellement utilisées, comme ceci :
Le code pour obtenir cela
Public derCol As Integer
Sub MasquerLignesColonnesVides()
On Error Resume Next
Dim derLi, areaCount As Integer
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
derLi = .Row + .Rows.Count - 1
End With
Call GetRealLastCell
Range(Cells(derLi + 1, 1), Cells(65536, 1)).Select
Selection.EntireRow.Hidden = True
Range(Cells(1, derCol + 1), Cells(1, 256)).Select
Selection.EntireColumn.Hidden = True
End Sub
Sub GetRealLastCell()
Dim lRealLastRow As Long
Dim lRealLastColumn As Long
Range("A1").Select
On Error Resume Next
lRealLastRow = Cells.Find("*", Range("A1"), xlFormulas, , xlByRows, _ xlPrevious).Row
lRealLastColumn = Cells.Find("*", Range("A1"), xlFormulas, , _ xlByColumns, xlPrevious).Column
Cells(lRealLastRow, lRealLastColumn).Select
derCol = Selection.Column
End Sub
Bien sûr à tout moment on peut ré afficher la feuille complète
Sub RetablirTout()
On Error Resume Next
Dim derLi, i As Integer
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
derLi = .Row + .Rows.Count - 1
End With
Range(Cells(derLi, 1), Cells(65536, 1)).Select
Selection.EntireRow.Hidden = False
Range("A1").Select
For i = 1 To 256
If Columns(i).EntireColumn.Hidden = True Then
Columns(i).EntireColumn.Hidden = False
End If
Next
End Sub
Cliquez ici pour télécharger le fichier exemple