XL 2016 Positionner Userform sur cellule

morest38

XLDnaute Nouveau
Salut à tous,
Voilà j'ai trouvé une solution pour positionner une userform sur la cellule de mon choix. En l’occurrence, la cellule active.
VB:
Option Explicit
Private Declare Function GetDC& Lib _
"user32.dll" (ByVal hwnd&)
Private Declare Function GetDeviceCaps& _
Lib "gdi32" (ByVal hDC&, ByVal nIndex&)
Private Sub UserForm_Initialize()

Dim x#, y#, w#, h#
ActiveWindow.Zoom = 100
x = GetDeviceCaps(GetDC(0), 88) / 72
y = GetDeviceCaps(GetDC(0), 90) / 72
With Me
.StartUpPosition = 0
.Left = ActiveWindow.PointsToScreenPixelsX(ActiveCell.Left * x) * 1 / x
.Top = ActiveWindow.PointsToScreenPixelsY(ActiveCell.Top * y) * 1 / y
End With
End Sub
Ce code marche parfaitement mais il est limité à Windows 32 bit.
Je cherche a le rendre viable pour le 64 bit. Si quelqu'un pouvait me faire profiter de ses lumières ça serait top. Peut être en faisant autrement d'ailleurs, peu importe tant que l'Userform s'ouvre sur une cellule choisie c'est nickel.

Merci d'avance et bonne soirée.
 

morest38

XLDnaute Nouveau
C'est souvent quand il n'y a rien a comprendre que c'est le plus compliqué :).
Merci en tous cas pour ton aide!! Ca marche nickel.
Voici le code final:
VB:
Option Explicit
Private Declare PtrSafe Function GetDC& Lib _
"user32.dll" (ByVal hwnd&)
Private Declare PtrSafe Function GetDeviceCaps& _
Lib "gdi32" (ByVal hDC&, ByVal nIndex&)

Bonne soirée.
 

Discussions similaires

Réponses
4
Affichages
402

Statistiques des forums

Discussions
311 708
Messages
2 081 750
Membres
101 812
dernier inscrit
trufu