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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel.C
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
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" <pounetchezlui@ouanadou> a écrit dans le message de news:
ekOJsy4VIHA.6140@TK2MSFTNGP02.phx.gbl...
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
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
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
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" <pounetchezlui@ouanadou> a écrit dans le message de news:
ekOJsy4VIHA.6140@TK2MSFTNGP02.phx.gbl...
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
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
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
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" <pounetchezlui@ouanadou> 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
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
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
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" <pounetchezlui@ouanadou> a écrit dans le message de
news:ekOJsy4VIHA.6140@TK2MSFTNGP02.phx.gbl...
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
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