Affichage Userform en plein écran quelque soit la taille de l'écran

youguybass

XLDnaute Junior
Bonjour tt le monde
Je cherche à ouvrir un userform en plein écran quelque soit la taille de l'écran, naturellement c'est un fichier partagé !
Sur mon poste aucun soucis mais sur des écrans + petit cela ne marche pas.

J'ai comme code:
Option Explicit
Private Declare PtrSafe Function FindWindowA Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare PtrSafe Function GetWindowLongA Lib "user32" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare PtrSafe Function SetWindowLongA Lib "user32" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

et

Private Sub UserForm_Initialize()
Dim hwnd As Long, exLong As Long, zFactor As Integer

hwnd = FindWindowA(vbNullString, Me.Caption)
exLong = GetWindowLongA(hwnd, -16)
If exLong And &H880000 Then SetWindowLongA hwnd, -16, exLong And &HFF77FFFF
zFactor = 100 * CInt(Application.Width / Me.Width)
Me.Width = Application.Width
Me.Height = Application.Height

End Sub

est-ce que quelqu'un aurait une solution ?

D'avance merci
 

TooFatBoy

XLDnaute Barbatruc
Je n'y arrive pas !!!!!!!!!!
Ah oui, je vois ça... 🤣

image_2024-09-26_205740005.png


Bon, je rigole, mais malheureusement, je ne saurais t'aider. :(
 

jurassic pork

XLDnaute Occasionnel
Hello,
le souci c'est qu'avec la solution de Patrick qui est excellente, les textes peuvent devenir pas très lisibles avec certaines résolutions d'écran. Exemple du classeur de Patrick avec une résolution écran de 1024x768 (partie) :
Res1024x728.png

Avec une solution à base de barres de défilement, on a pas ce genre de problème , mais par contre l'inconvénient c'est qu'on est obligé d'actionner les barres de défilement pour avoir accès à l'ensemble du formulaire et on ne voit pas l'ensemble du formulaire au premier affichage.
Ami calmant, J.P
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
Bonjour à tous
il est certain qu'avec mon module resize il faut prendre en compte les dimensions d’écran
si vous créez un userform de 1500points par 1000 en pixel donc /0.75
et que vous tentez de l'afficher sur un écran de 1024 par 768
ça va être drôle

perso je développe toujours mes userform sur la base de 800X600(nos bons vieux écran cathodique en 4/3) et ce n'est qu’après que je modifie le ratio car nous avons presque tous aujourd'hui des écrans 16/9 voir 16/10

une autre solution serait de découper certaines parties et les mettre dans un multipage
plus pratique que le scroll ;)

à la base ce module a été créé pour ajuster dans la mesure ou ça reste lisible
même si comme vous avez pu le voir je descends jusqu'à 200X200 pour le minimum

c'est le problème de beaucoup de développeur amateur ou pro aujourd'hui
il font des interfaces immenses qu'il faut réduire aux screen dimensions
 

youguybass

XLDnaute Junior
Je reviens vers vous PatrickToulon
L'intégration c'est bien passée, mais j'ai un petit pb
en fait mon fichier a plusieurs USF qui reviennent automatiquement de l'un a l'autre
Quand je fait cette manip de l'un à la taille des textes diminue à chaque fois que je reviens sur le USF principal
j'ai passé le "Dimensions Me, 1 à 2" mais j'ai peur que sur écran plu petit l'ajustement ne se fasse plus.
et je n'ai pas de quoi le tester!
Les tailles des cases ne change pas, mais les tailles des textes oui
Images ci dessous avec 3 aller retour entre userforme
Auriez vous une solution?
Slts

Image2.png
Image3.png
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 121
Messages
2 106 129
Membres
109 495
dernier inscrit
jerome bonneau