OVH Cloud OVH Cloud

Formatage de InputBox

4 réponses
Avatar
Jean-Paul V
Bonjour

Je crée mes fichiers avec un écran formaté 1024X768
Les utilisateurs ont souvent un écran 800X600
J’ai donc une macros d’ouverture qui affiche plein écran les colonnes que je
souhaite en faisant :
Application.Goto Reference:="titre1"
ActiveWindow.Zoom = True

J’ai des macros avec des InputBox formaté afin d’avoir les fenêtres de
saisie en haut et à droite :
ActiveCell.Value = CDate(InputBox("", "DATE FACTURE", , 9500, 2000))

Malheureusement avec un écran 800x600 la fenêtre n’est plus en haut à droite
pire elle est trop à droite alors que grâce à la macro d’ouverture les
colonnes voulues sont bien plein écran.
Comment faire un formatage valable qq soit les formatages d’écran ?

Merci encore pour votre aide

4 réponses

Avatar
Philippe.R
Bonjour Jean-Paul,
Place ce qui suit dans un module standard et lance JPV_inputbox_position() :

'Utilisation de la résolution de l'écran du poste de travail
'Tom Ogilvy, mpep cité par Frédéric Sigonneau sur son site Web

'*****************************************************************
' 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

Function lRg() As Integer
'Ecrite par Philippe Raulet le 10/07/2004
'à partir de la fonction GetScreenResolution de Tom Ogilvy
Dim R As RECT
Dim hwnd As Long
Dim RetVal As Long

hwnd = GetDesktopWindow()
RetVal = GetWindowRect(hwnd, R)
lRg = (R.x2 - R.x1)

End Function

Function hTr() As Integer
'Ecrite par Philippe Raulet le 10/07/2004
'à partir de la fonction GetScreenResolution de Tom Ogilvy
Dim R As RECT
Dim hwnd As Long
Dim RetVal As Long

hwnd = GetDesktopWindow()
RetVal = GetWindowRect(hwnd, R)
hTr = (R.y2 - R.y1)

End Function

Sub JPV_inputbox_position()
Dim x As Integer, y As Integer
x = 9500 / 1024 * lRg
y = 2000 / 768 * hTr

ActiveCell.Value = CDate(InputBox("", "DATE FACTURE", , x, y))

End Sub

--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Jean-Paul V" a écrit dans le message de news:

Bonjour

Je crée mes fichiers avec un écran formaté 1024X768
Les utilisateurs ont souvent un écran 800X600
J'ai donc une macros d'ouverture qui affiche plein écran les colonnes que je
souhaite en faisant :
Application.Goto Reference:="titre1"
ActiveWindow.Zoom = True

J'ai des macros avec des InputBox formaté afin d'avoir les fenêtres de
saisie en haut et à droite :
ActiveCell.Value = CDate(InputBox("", "DATE FACTURE", , 9500, 2000))

Malheureusement avec un écran 800x600 la fenêtre n'est plus en haut à droite
pire elle est trop à droite alors que grâce à la macro d'ouverture les
colonnes voulues sont bien plein écran.
Comment faire un formatage valable qq soit les formatages d'écran ?

Merci encore pour votre aide




Avatar
Jean-Paul V
Merci encore

J'ai l'impression que vous êtes un puis de sciences une véritable
encyclopédie viavante


Bonjour Jean-Paul,
Place ce qui suit dans un module standard et lance JPV_inputbox_position() :

'Utilisation de la résolution de l'écran du poste de travail
'Tom Ogilvy, mpep cité par Frédéric Sigonneau sur son site Web

'*****************************************************************
' 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

Function lRg() As Integer
'Ecrite par Philippe Raulet le 10/07/2004
'à partir de la fonction GetScreenResolution de Tom Ogilvy
Dim R As RECT
Dim hwnd As Long
Dim RetVal As Long

hwnd = GetDesktopWindow()
RetVal = GetWindowRect(hwnd, R)
lRg = (R.x2 - R.x1)

End Function

Function hTr() As Integer
'Ecrite par Philippe Raulet le 10/07/2004
'à partir de la fonction GetScreenResolution de Tom Ogilvy
Dim R As RECT
Dim hwnd As Long
Dim RetVal As Long

hwnd = GetDesktopWindow()
RetVal = GetWindowRect(hwnd, R)
hTr = (R.y2 - R.y1)

End Function

Sub JPV_inputbox_position()
Dim x As Integer, y As Integer
x = 9500 / 1024 * lRg
y = 2000 / 768 * hTr

ActiveCell.Value = CDate(InputBox("", "DATE FACTURE", , x, y))

End Sub

--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Jean-Paul V" a écrit dans le message de news:

Bonjour

Je crée mes fichiers avec un écran formaté 1024X768
Les utilisateurs ont souvent un écran 800X600
J'ai donc une macros d'ouverture qui affiche plein écran les colonnes que je
souhaite en faisant :
Application.Goto Reference:="titre1"
ActiveWindow.Zoom = True

J'ai des macros avec des InputBox formaté afin d'avoir les fenêtres de
saisie en haut et à droite :
ActiveCell.Value = CDate(InputBox("", "DATE FACTURE", , 9500, 2000))

Malheureusement avec un écran 800x600 la fenêtre n'est plus en haut à droite
pire elle est trop à droite alors que grâce à la macro d'ouverture les
colonnes voulues sont bien plein écran.
Comment faire un formatage valable qq soit les formatages d'écran ?

Merci encore pour votre aide









Avatar
Philippe.R
N'exagérons rien, quand même !
;o)))
--
Amicales Salutations

"Jean-Paul V" a écrit dans le message de news:

Merci encore

J'ai l'impression que vous êtes un puis de sciences une véritable
encyclopédie viavante


Bonjour Jean-Paul,
Place ce qui suit dans un module standard et lance JPV_inputbox_position() :

'Utilisation de la résolution de l'écran du poste de travail
'Tom Ogilvy, mpep cité par Frédéric Sigonneau sur son site Web

'*****************************************************************
' 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

Function lRg() As Integer
'Ecrite par Philippe Raulet le 10/07/2004
'à partir de la fonction GetScreenResolution de Tom Ogilvy
Dim R As RECT
Dim hwnd As Long
Dim RetVal As Long

hwnd = GetDesktopWindow()
RetVal = GetWindowRect(hwnd, R)
lRg = (R.x2 - R.x1)

End Function

Function hTr() As Integer
'Ecrite par Philippe Raulet le 10/07/2004
'à partir de la fonction GetScreenResolution de Tom Ogilvy
Dim R As RECT
Dim hwnd As Long
Dim RetVal As Long

hwnd = GetDesktopWindow()
RetVal = GetWindowRect(hwnd, R)
hTr = (R.y2 - R.y1)

End Function

Sub JPV_inputbox_position()
Dim x As Integer, y As Integer
x = 9500 / 1024 * lRg
y = 2000 / 768 * hTr

ActiveCell.Value = CDate(InputBox("", "DATE FACTURE", , x, y))

End Sub

--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Jean-Paul V" a écrit dans le message de news:

Bonjour

Je crée mes fichiers avec un écran formaté 1024X768
Les utilisateurs ont souvent un écran 800X600
J'ai donc une macros d'ouverture qui affiche plein écran les colonnes que je
souhaite en faisant :
Application.Goto Reference:="titre1"
ActiveWindow.Zoom = True

J'ai des macros avec des InputBox formaté afin d'avoir les fenêtres de
saisie en haut et à droite :
ActiveCell.Value = CDate(InputBox("", "DATE FACTURE", , 9500, 2000))

Malheureusement avec un écran 800x600 la fenêtre n'est plus en haut à droite
pire elle est trop à droite alors que grâce à la macro d'ouverture les
colonnes voulues sont bien plein écran.
Comment faire un formatage valable qq soit les formatages d'écran ?

Merci encore pour votre aide











Avatar
Misange
si si

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta


on 30/10/2004 16:46:
N'exagérons rien, quand même !
;o)))