Sub Apercu()
Dim Larg, Haut, xRg As Range
'ligne inutile si la zone d'impression est définie par ailleurs
ActiveSheet.PageSetup.PrintArea = Selection.Address
Set xRg = ActiveSheet.Range(ActiveSheet.PageSetup.PrintArea)
Haut = xRg.Resize(1, 1).Offset(xRg.Rows.count).Top - xRg.Top
Larg = xRg.Resize(1, 1).Offset(, xRg.Columns.count).Left - xRg.Left
' Ligne juste pour l'exemple
MsgBox "Taille Zone (points): Hauteur= " & Haut & ", Largeur= " & Larg
ActiveSheet.PageSetup.Orientation = 1 - (Larg > Haut)
ActiveSheet.PrintPreview
End Sub