Résolution écran

cs_chapata Messages postés 214 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 9 avril 2010 - 1 févr. 2008 à 17:11
cs_chapata Messages postés 214 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 9 avril 2010 - 3 févr. 2008 à 12:03
Hello ,
je cherche à récupérer la résolution de l'écran à l'ouverture de mon application Access (VBA). Si une personne pouvais m'aiguiller ...
Merci !

ChaPaT'
/FONT>

4 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
1 févr. 2008 à 17:39
Salut,

Regarde ce bout de code :

'      Variables de travail
       Dim iHeight As Integer
       Dim iWidth As Integer
      
      
'      Récupération de la résolution écran
       iHeight = Screen.Width \ Screen.TwipsPerPixelX
       iWidth = Screen.Height \ Screen.TwipsPerPixelY

'      Affichage
       MsgBox iHeight
       MsgBox iWidth

A+
Exploreur

 Linux a un noyau, Windows un pépin
0
cs_chapata Messages postés 214 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 9 avril 2010 5
1 févr. 2008 à 20:43
Hello ,

Merci pour ta réponse ... mais sous Access (en VBA) la propriété Width de l'objet Screen n'est pas reconnue ...
(soit je suis pas doué, soit il y a une chose que je ne capte pas).

Sinon j'ai trouvé une autre méthode avec des API sous microsoft.fr qui me retourne la résolution.

'==============
'Posted by Laurent Longre, Programming 06/10/99





Declare Function GetDeviceCaps Lib "Gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long
Declare Function GetDC Lib "User32" (ByVal hWnd As Long) As Long
Declare Function ReleaseDC Lib "User32" (ByVal hWnd As Long, ByVal hdc As Long) As Long
'*****************************************************************
' DECLARATIONS SECTION
'*****************************************************************
Option Explicit
Type RECT
x1 As Long
y1 As Long
x2 As Long
y2 As Long
End Type
' NOTE: The following declare statements are case sensitive.
Declare Function GetDesktopWindow Lib "User32" () As Long
Declare Function GetWindowRect Lib "User32" (ByVal hWnd As Long, rectangle As RECT) As Long


Function getResolutionScreen()
    Dim DC As Long
    DC = GetDC(0)
    MsgBox "Resolution : " & GetDeviceCaps(DC, 8) & " * " & GetDeviceCaps(DC, 10) & " pixels"
    ReleaseDC 0, DC
End Function

qui fonctionne bien en VBA placé dans un module.

J'ai cependant utilisé la source : http://www.vbfrance.com/code.aspx?ID=18009
et modifier les propriétés des objets pour quelles soient reconnues en VBA. Et j'aurai aimer garder la même source pour récupérer ma résolution. Enfin bon, j'ai ce que je souhaitais mais pas comme je voulais ;)

Merci pour ton aide.

ChaPaTa


/FONT>
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
1 févr. 2008 à 21:20
Voila pourquoi, quand on est finalement sous VBA, on évite de "poster" sous VB6 !!!

Il est important
que tu y penses la prochaine fois !!!!
0
cs_chapata Messages postés 214 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 9 avril 2010 5
3 févr. 2008 à 12:03
Autant pour moi .... je n'avais pas fait attention .
 Merci quand meme
0
Rejoignez-nous