XL 2016 Positionner Userform sur cellule

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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.
 
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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour