XL 2010 l'userform qui s'adapte a la taille de l'écran

MAN

XLDnaute Occasionnel
Bonjour le forum . bonjour a tous.
j'ai le code que j'ai pris dans ce forum. malheureusement, il agrandit tout. mais, les listbox restent identiques. que faire
Private Sub UserForm_Initialize()
Dim ctl As Control, ratioW#, ratioH#, wstate&
With Application: wstate = .WindowState: .WindowState = xlMaximized:
ratioW = Application.Width / Me.Width
ratioH = Application.Height / Me.Height
.WindowState = wstate
End With
With Me
.StartUpPosition = 0: .Left = 0: .Top = 0
.Width = (.Width * ratioW) - (.Width - .InsideWidth)
.Height = (.Height * ratioH) - (.Height - .InsideHeight) + (.Width - .InsideWidth)
End With
For Each ctl In Me.Controls
ctl.Move ctl.Left * ratioW, ctl.Top * ratioH, ctl.Width * ratioW, ctl.Height * ratioH
Select Case TypeName(ctl)
Case "TextBox", "Label", "Frame", "CommandButton", "MultiPage", "ListBox", "ComboBox", "CheckBox", "OptionButton"
ctl.Font.Size = ctl.Font.Size * Application.Min(ratioH, ratioW)
End Select
Next

End Sub
 

cp4

XLDnaute Barbatruc
re
ce qui manque je l'ai mis dans patricktoulon2
et encore ca n'est pas complètement sécurisé
je cherche depuis des années a créer un code qui ne soit pas une usine a gaz je n'ai toujours pas réussi a faire quelque chose d'absolu
il faudrait que je m'y remette
Si ce n'est pas une usine à gaz, je suis intéressé.
Mais tout compte fait, le codage des éléments graphiques (insistance de jmfmarques) est similiaire à la prestidigitation. Tout est illusion.:cool:
 

jmfmarques

XLDnaute Accro
Attention le font ca n'est pas efficient en tout circonstance
Et pas uniquement le traitement des polices de caractères, mais mille et une autres "petites" (euh..) choses qui font que certains éléments (tout ou partie de contrôles) ne peuvent être redimensionnés.

Un "resizer" est toute autre chose que ce qui est montré ici et qui s'apparenterait beaucoup plus à la projection d'une image sur un écran en passant par une lentille non seulement déformante, mais de surcroît incapable d'appliquer son propre mécanisme de déformation à tous les éléments "projetés".
 

patricktoulon

XLDnaute Barbatruc
re
c'est un point sur le quel nous sommes en désaccords avec jmfmarques et cela depuis longtemps
perso je part du principe que si j'augment l'userfor de 10% j'augmente les control de 10% et il ne devrait pas y avoir de probleme

reste que pour les frames et listbox et combobox et multipage qui ont des handles et qui sont des fenêtre a part entière ont peux avoir un problème avec les bords qui sont a prendre en compte dans le calcul mais c'est tellement infime pour l'utilisation que l'on en fait que je n'ai pas ajouté ce calcul
dans d'autre circonstance cela s'avèrerait nécessaire mais pas ici
 

jmfmarques

XLDnaute Accro
ont peux avoir un problème avec les bords qui sont a prendre en compte dans le calcul mais c'est tellement infime pour l'utilisation que l'on en fait que je n'ai pas ajouté ce calcul
et tu ne pourras jamais l'ajouter, ce "calcul", pour une raison élémentaire :)
Mais s'arrêter ainsi à ce qui serait "insignifiant" (sauf quand...) et cacher les aspects nettement moins "insignifiants" n'est pas vraiment très franc. Parle-nous donc également (par exemple et entre autres) des largeurs de certains "ascenseurs". Parle-nous également de ce qui se passerait avec certains userforms remplis comme un oeuf et que ton "redimensionnement" devrait réduire.
Et j'en passe, pour éviter un roman.
 

patricktoulon

XLDnaute Barbatruc
re
je comprends très bien ton point de vu jmfmarques mathématiquement
mais perso j'ai des userforms rempli comme des oeufs avec des frames avec ascenseur et je n'ai aucun soucis l'ors du redimensionnement a partir du moment ou rien est en left 0 ou top 0 ou left in width ou top in height
autrement dit un espace de 2 points(excel) sur les bords
et jamais de soucis
je l'avais déjà démontré sur dvp me semble t il
je viens encore de tester normal ou fullscreen tout est bon pour un visuel
 

MAN

XLDnaute Occasionnel
Bonjour le forum. dans nos pays, la connexion coute extremement chèr. on doit faire des économies en ces temps de confinements.
je suis étourdi et fier a la fois par l'étendue du débat. mais, je ne comprends pas la solution de mon probleme. merci encore
 

Discussions similaires

Statistiques des forums

Discussions
314 626
Messages
2 111 294
Membres
111 093
dernier inscrit
Yvounet