Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
'position hom
ActiveWindow.ScrollColumn = 1: ActiveWindow.ScrollRow = 1
'select la première ligne avec données
With ActiveSheet.UsedRange: DernLig = .Cells(.Rows.Count, .Columns.Count).Row: End With
With ActiveSheet.UsedRange: DernCol = .Cells(.Rows.Count, .Columns.Count).Column: End With
Range(Cells(1, 1), Cells(1, DernCol)).Select
On Error Resume Next
'cache les colonnes sans aucune données(sur base de la première ligne !)
Selection.SpecialCells(xlCellTypeBlanks).EntireColumn.Hidden = True
'zoom sur les colonnes restantes
ActiveWindow.Zoom = True
Range("A1").Select
Application.ScreenUpdating = True
End Sub