Attribute VB_Name = "Resolution" Option Explicit 'Pour passer par exemple à une résolution de 800 x 600 : 'ResolutionEcran 800, 600 Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" _ (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpDevMode As Any) As Boolean Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" _ (lpDevMode As Any, ByVal dwflags As Long) As Long Private Const CCHDEVICENAME = 32 Private Const CCHFORMNAME = 32 Private Const DM_WIDTH = &H80000 Private Const DM_HEIGHT = &H100000 Private Type DEVMODE dmDeviceName As String * CCHDEVICENAME dmSpecVersion As Integer dmDriverVersion As Integer dmSize As Integer dmDriverExtra As Integer dmFields As Long dmOrientation As Integer dmPaperSize As Integer dmPaperLength As Integer dmPaperWidth As Integer dmScale As Integer dmCopies As Integer dmDefaultSource As Integer dmPrintQuality As Integer dmColor As Integer dmDuplex As Integer dmYResolution As Integer dmTTOption As Integer dmCollate As Integer dmFormName As String * CCHFORMNAME dmUnusedPadding As Integer dmBitsPerPel As Integer dmPelsWidth As Long dmPelsHeight As Long dmDisplayFlags As Long dmDisplayFrequency As Long End Type Public Sub ResolutionEcran(sgWidth As Long, sgHeight As Long) Dim blTMP As Boolean, lgTMP As Long, dmEcran As DEVMODE, res As Long lgTMP = 0 Do blTMP = EnumDisplaySettings(0, lgTMP, dmEcran) lgTMP = lgTMP + 1 Loop While blTMP <> 0 dmEcran.dmFields = DM_WIDTH Or DM_HEIGHT dmEcran.dmPelsWidth = sgWidth dmEcran.dmPelsHeight = sgHeight lgTMP = ChangeDisplaySettings(dmEcran, 0) End Sub