Private Declare PtrSafe Function GetDC Lib "user32" (ByVal hWnd As LongPtr) As LongPtr
Private Declare PtrSafe Function ReleaseDC Lib "user32" (ByVal hWnd As LongPtr, ByVal hDC As LongPtr) As Long
Private Declare PtrSafe Function GetDeviceCaps Lib "gdi32" (ByVal hDC As LongPtr, ByVal nIndex As Long) As Long
Private Const LOGPIXELSX As Long = 88
Private Function AppDpi() As Long
Dim hDC As LongPtr
Dim dpi As Long
hDC = GetDC(0)
dpi = GetDeviceCaps(hDC, LOGPIXELSX)
ReleaseDC 0, hDC
If dpi <= 0 Then dpi = 96 ' fallback sécurité
AppDpi = dpi
End Function