Taille Ecran

Le
Pounet95
Bonjour à toutes et tous,
Excel2000 sous Windows2000, Excel 2007 sous Vista ( Trial )

Je viens d'être équipé d'un PC portable dont l'écran est (je crois car je
n'ai aucune doc sur le matériel mis à dispo par le Service Informatique ) au
format 16/9.

Jusqu'à ce jour je 'développais' des applis maison sans tenir compte de ce
paramètre où, en fait, seule la largeur pose 'problème' par rapport aux
écrans classiques.

Ma question : Y a-t-il un moyen via VBA de reconnaître le format d'écran ?
C'est juste pour info. Les applis en prod continueront à fonctionner telles
que avec les dimensions de usf définis par Ht, Lg,lg,Top

Merci de vos suggestions, commentaires ( . même désagréables )
Pounet95
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #5293781
Salut, Pounet,
Le code suivant, de Laurent Longre permet de récupérer la résolution de
l'écran (la macro à exécuter est Test) :

'============= '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: GetScreenResolution() ' ' PURPOSE:
' To determine the current screen size or resolution. '
' RETURN:
' The current screen resolution. Typically one of the following:
' 640 x 480 ' 800 x 600 ' 1024 x 768 '
'*****************************************************************
Function GetScreenResolution() As String
Dim R As RECT
Dim hWnd As Long
Dim RetVal As Long
hWnd = GetDesktopWindow()
RetVal = GetWindowRect(hWnd, R)
GetScreenResolution = (R.x2 - R.x1) & "x" & (R.y2 - R.y1)
End Function

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

Cordialement.
Daniel
"Pounet95" a écrit dans le message de news:

Bonjour à toutes et tous,
Excel2000 sous Windows2000, Excel 2007 sous Vista ( Trial )

Je viens d'être équipé d'un PC portable dont l'écran est (je crois car je
n'ai aucune doc sur le matériel mis à dispo par le Service Informatique )
au format 16/9.

Jusqu'à ce jour je 'développais' des applis maison sans tenir compte de ce
paramètre où, en fait, seule la largeur pose 'problème' par rapport aux
écrans classiques.

Ma question : Y a-t-il un moyen via VBA de reconnaître le format d'écran ?
C'est juste pour info. Les applis en prod continueront à fonctionner
telles que avec les dimensions de usf définis par Ht, Lg,lg,Top ...

Merci de vos suggestions, commentaires ( .... même désagréables )
Pounet95



Youky
Le #5293631
Bonsoir,

Application.WindowState = xlMaximized
x = Application.UsableWidth
If x > 800 Then
MsgBox "resolution > 1024"
Exit Sub
End If
If x > 650 Then
MsgBox "1024x768"
Exit Sub
End If
MsgBox "800x600"
Bon !!! ...cette macro n'a pas la précision de celle de Laurent Longre
C'est juste pour donner une idée, car sur mes 2 postes ils indiquent des
chiffres différents mais on en est pas loin
A tester et voir pour zoomer
Youky
"Pounet95" a écrit dans le message de news:

Bonjour à toutes et tous,
Excel2000 sous Windows2000, Excel 2007 sous Vista ( Trial )

Je viens d'être équipé d'un PC portable dont l'écran est (je crois car je
n'ai aucune doc sur le matériel mis à dispo par le Service Informatique )
au format 16/9.

Jusqu'à ce jour je 'développais' des applis maison sans tenir compte de ce
paramètre où, en fait, seule la largeur pose 'problème' par rapport aux
écrans classiques.

Ma question : Y a-t-il un moyen via VBA de reconnaître le format d'écran ?
C'est juste pour info. Les applis en prod continueront à fonctionner
telles que avec les dimensions de usf définis par Ht, Lg,lg,Top ...

Merci de vos suggestions, commentaires ( .... même désagréables )
Pounet95



JB
Le #5293601
Bonsoir,

Api trouvé avec Google:

Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long)
As Long
Sub ecran()
MsgBox GetSystemMetrics(0)
MsgBox GetSystemMetrics(1)
End Sub

JB

On 15 jan, 16:38, "Pounet95" wrote:
Bonjour à toutes et tous,
Excel2000 sous Windows2000, Excel 2007 sous Vista ( Trial )

Je viens d'être équipé d'un PC portable dont l'écran est (je crois car je
n'ai aucune doc sur le matériel mis à dispo par le Service Informatiqu e ) au
format 16/9.

Jusqu'à ce jour je 'développais' des applis maison sans tenir compte d e ce
paramètre où, en fait, seule la largeur pose 'problème' par rapport aux
écrans classiques.

Ma question : Y a-t-il un moyen via VBA de reconnaître le format d'écr an ?
C'est juste pour info. Les applis en prod continueront à fonctionner tel les
que avec les dimensions de usf définis par Ht, Lg,lg,Top ...

Merci  de vos suggestions, commentaires ( .... même désagréables )
Pounet95


Pounet95
Le #5293391
Bonsoir,
Merci à vous trois pour vos réponses qui m'amènent à me poser la question
de savoir quel rapport il y a entre taille écran et résolution alors qu'il
me semblait que la résolution était plutôt fonction de la qualité de l'écran
et surtout de la carte graphique.
Je vais tenter de trouver des réponses du côté des "spécialistes matériel".
Si j'ai des précisions, je vous dis
Bonne nuit
Pounet95

"Pounet95" a écrit dans le message de
news:
Bonjour à toutes et tous,
Excel2000 sous Windows2000, Excel 2007 sous Vista ( Trial )

Je viens d'être équipé d'un PC portable dont l'écran est (je crois car je
n'ai aucune doc sur le matériel mis à dispo par le Service Informatique )
au format 16/9.

Jusqu'à ce jour je 'développais' des applis maison sans tenir compte de ce
paramètre où, en fait, seule la largeur pose 'problème' par rapport aux
écrans classiques.

Ma question : Y a-t-il un moyen via VBA de reconnaître le format d'écran ?
C'est juste pour info. Les applis en prod continueront à fonctionner
telles que avec les dimensions de usf définis par Ht, Lg,lg,Top ...

Merci de vos suggestions, commentaires ( .... même désagréables )
Pounet95



Publicité
Poster une réponse
Anonyme