Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Vérification de paramètres

5 réponses
Avatar
Denys
Bonjour =E0 tous,

Par curiosit=E9, est-il possible qu'=E0 l'ouverture d'une=20
application qu'Excel v=E9rifie si l'ordi a les param=E8tres=20
suivants: 1024 x 768 et que sinon un message apparaisse=20
demandant =E0 l'utilisateur de changer ses param=E8tres?

La raison est que j'ai fait une application et que le=20
Userform prend pratiquement tout l'=E9cran en 1024 x 768.

Cependant, il existe encore des gens qui fonctionnent en=20
800 x 600... =C0 ce moment-l=E0, l'application ne peut=20
fonctionner proprement....

Quelqu'un saurait?

Merci

Denys

5 réponses

Avatar
isabelle
bonjour Denys,

il y a un exemple sur ce lien,
http://groups.google.com/groups?q24+x+768+group:microsoft.public.fr.excel&hl=fr&lr=&ie=UTF-8&oe=UTF-8&scoring=d&selm9f01c361d7%24e63a9e10%24a301280a%40phx.gbl&rnum=3

isabelle


Bonjour à tous,

Par curiosité, est-il possible qu'à l'ouverture d'une
application qu'Excel vérifie si l'ordi a les paramètres
suivants: 1024 x 768 et que sinon un message apparaisse
demandant à l'utilisateur de changer ses paramètres?

La raison est que j'ai fait une application et que le
Userform prend pratiquement tout l'écran en 1024 x 768.

Cependant, il existe encore des gens qui fonctionnent en
800 x 600... À ce moment-là, l'application ne peut
fonctionner proprement....

Quelqu'un saurait?

Merci

Denys


Avatar
michdenis
Bonjour Denys,

J'avais ce code dans mes choses mais pas son auteur (-:

Dans ton formulaire, copie ceci :

'------------
Private Sub UserForm_Initialize()
AdapterZoom
End Sub
'------------


Dans un module standard, copie ceci :


'Haut du module, déclaration API
Private Declare Function GetSystemMetrics32 Lib "user32" _
Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long

Private Const SM_CXSCREEN = 0
Private Const SM_CYSCREEN = 1

'-------------------
Sub AdapterZoom()
Dim lngWidth As Long
Dim lngHeight As Long
Dim ws As Worksheet

'Référencer la feuille active
Set ws = ActiveSheet
Application.ScreenUpdating = False

'Appel de l'API pour obtenir la définition de l'écran
lngWidth = GetSystemMetrics32(SM_CXSCREEN)
lngHeight = GetSystemMetrics32(SM_CYSCREEN)

'Les résolutions écran retenues
'1152 x 864 = 120%
'1024 x 768 = 100%
' 800 x 600 = 85%
' 640 x 480 = 75%

Select Case lngWidth
Case 1152
Call ZoomAdapté(120)
Case 1024
Call ZoomAdapté(100)
Case 800
Call ZoomAdapté(85)
Case 640
Call ZoomAdapté(75)
Case Else
MsgBox "Dimension vidéo inconnue: AutoOpen !"
Call ZoomAdapté(100)
End Select

ws.Activate
Application.ScreenUpdating = True
End Sub
'-------------------
Sub ZoomAdapté(Dimension As Integer)
UserForm1.Zoom = Dimension
End Sub
'-------------------


Salutations!



"Denys" a écrit dans le message de news:831601c4320c$e77f1c00$
Bonjour à tous,

Par curiosité, est-il possible qu'à l'ouverture d'une
application qu'Excel vérifie si l'ordi a les paramètres
suivants: 1024 x 768 et que sinon un message apparaisse
demandant à l'utilisateur de changer ses paramètres?

La raison est que j'ai fait une application et que le
Userform prend pratiquement tout l'écran en 1024 x 768.

Cependant, il existe encore des gens qui fonctionnent en
800 x 600... À ce moment-là, l'application ne peut
fonctionner proprement....

Quelqu'un saurait?

Merci

Denys
Avatar
Michel Pierron
Bonsoir Denys;
Private Declare Function GetDeviceCaps& Lib "gdi32" (ByVal hDc&, ByVal
nIndex&)
Private Declare Function GetDC& Lib "user32" (ByVal hwnd&)

Sub GetScreenResolution()
MsgBox GetDeviceCaps(GetDC(0), 8) & " / " & GetDeviceCaps(GetDC(0), 10)
End Sub

MP

"Denys" a écrit dans le message de
news:831601c4320c$e77f1c00$
Bonjour à tous,

Par curiosité, est-il possible qu'à l'ouverture d'une
application qu'Excel vérifie si l'ordi a les paramètres
suivants: 1024 x 768 et que sinon un message apparaisse
demandant à l'utilisateur de changer ses paramètres?

La raison est que j'ai fait une application et que le
Userform prend pratiquement tout l'écran en 1024 x 768.

Cependant, il existe encore des gens qui fonctionnent en
800 x 600... À ce moment-là, l'application ne peut
fonctionner proprement....

Quelqu'un saurait?

Merci

Denys
Avatar
Pascal Engelmajer
Salut,
une petite bidouille
donne la zone ou peut se mouvoir le curseur de la souris...
Declare Function GetClipCursor Lib "user32" (lprc As RECT) As Long
Type RECT
gauche As Long
haut As Long
droit As Long
bas As Long
End Type
Dim oGCC As RECT
Sub dimEcran()
GetClipCursor oGCC
With oGCC
MsgBox .droit & " x " & .bas
End With
End Sub

--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Denys" a écrit dans le message de
news: 831601c4320c$e77f1c00$
Bonjour à tous,

Par curiosité, est-il possible qu'à l'ouverture d'une
application qu'Excel vérifie si l'ordi a les paramètres
suivants: 1024 x 768 et que sinon un message apparaisse
demandant à l'utilisateur de changer ses paramètres?

La raison est que j'ai fait une application et que le
Userform prend pratiquement tout l'écran en 1024 x 768.

Cependant, il existe encore des gens qui fonctionnent en
800 x 600... À ce moment-là, l'application ne peut
fonctionner proprement....

Quelqu'un saurait?

Merci

Denys
Avatar
Denys
Bonjour Denis, Isabelle et Michel,

Et bien ! Dis-donc... je n'en espérais pas tant....

Merci infiniment de votre aide...

Denis, j'ai retenu ta solution qui fonctionne très bien...

Merci beaucoup

Bonne soirée

Denys