Bonsoir à tous,

Pour limiter la zone d'affichage d'une feuille, j'ai utilisé ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Worksheet_Activate()
    Dim LastLgA As Long, endRowA As Long
    Dim Ws As Worksheet
    With Me
        .Range(Columns("G"), Columns("G").End(xlToRight)).EntireColumn.Hidden = True
        .Range(Rows("11"), Rows("11").End(xlDown)).EntireRow.Hidden = True
        .ScrollArea = "A1:F10"
        .Range("A1:F10").Select
 
        ActiveWindow.DisplayHeadings = False
        ScreenResolution
        Application.Goto Range("A1"), True
        .Range("12:12").Select
        ActiveWindow.FreezePanes = True
    End With
End Sub
Dans un module fe feuille :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Option Explicit
 
Declare Function GetSystemMetrics32 Lib "user32" Alias "GetSystemMetrics" _
                                    (ByVal nIndex As Long) As Long
 
Function DisplayVideoResolution() As String
    DisplayVideoResolution = GetSystemMetrics32(0) & " x " & _
                             GetSystemMetrics32(1)
End Function
 
Sub ScreenResolution()
    Dim Zoom&
    On Error Resume Next
    If DisplayVideoResolution = "1024 x 768" Then Zoom = 210
    If DisplayVideoResolution = "800 x 600" Then Zoom = 168
    If DisplayVideoResolution = "640 x 480" Then Zoom = 105
 
    Sheets("Feuil1").Activate
    ActiveWindow.Zoom = Zoom
End Sub
Mais je n'arrive pas encore à avoir ce que j'espère.

Merci.

Bonsoir,

- J'aimerais figer la zone d'affichage ainsi que les barres de défilement.

- Tester si le code est bien adapter pour tous les résolutions.

Merci.