Redimensionnement d'un userform

Troudz

XLDnaute Occasionnel
Bonjour tout le monde,

Depuis deux jours, j'essaye de trouver la meilleure méthode pour adapter la taille de plusieurs userform à la résolution de différents écrans. Pour cela, j'ai trouvé deux très bonnes méthodes que j'essaye de compiler mais sans succés.

La première (celle de Patrick toulon) est parfaite à ceux - ci près : la taille des caractères n'est pas correctement ajustée pour toutes les résolutions et les proportions entre les différentes tailles ne sont pas respectées.
La seconde fait ça très bien mais le code est difficilement compréhensible, ne fait pas apparaître les trois boutons dans la barre de titre, nécessite de copier beaucoup de code dans chaque userform...

J'aimerai arriver à modifier la gestion des font size utilisées dans la première en la remplaçant par le code utilisé dans la seconde :

Code:
If Int(hFactor) > 0 Then
    Ctl.Font.Size = Int(hFactor * frmControl(Idx).SizeFont)
Else
    Ctl.Font.Size = frmControl(Idx).SizeFont
End If

Seulement là je bloque grave. Impossible de comprendre à quoi correspondent ces frmControl(Idx), hfactor... et comment sont elles calculées.

Est ce que quelqu'un aurait une idée ? Un début de piste ?

Je vous remercie par avance de votre aide.
 

Pièces jointes

  • méthode 2.xls
    33.5 KB · Affichages: 108
  • méthode 1.xls
    46.5 KB · Affichages: 96

laetitia90

XLDnaute Barbatruc
Re : Redimensionnement d'un userform

bonjour tous..
je suis surprise que cela marche pas???
dans l'exemple j'ai mis >800... donc userform1 ne change pas d'appel yy
userform2 lui s'ouvre en grand vu qu'il appel yy
a moins que cela vient de excel2007 je testerais sur 2003

ps je viens de tester sous 2003 & xp pas de pb...
peut être poster un exemple pour voir comment tu as ecris tout ca... pour faire des essais cela assez facile tu changes la resolution de ton ecran. autrement il faudrait que quelqu'un teste avec excel 2002
 

Pièces jointes

  • Copie de essai1.zip
    25 KB · Affichages: 45
  • Copie de essai1.zip
    25 KB · Affichages: 62
  • Copie de essai1.zip
    25 KB · Affichages: 64
Dernière édition:

Troudz

XLDnaute Occasionnel
Re : Redimensionnement d'un userform

Milles excuses ma chère Laetitia. Que dis - je ! Dix millions d'excuses.
Je ne devais pas être bien réveillé quand j'ai testé ça. J'vais laissé mon écran en 1280 x 1024 ! Quel âne !

Tout fonctionne donc très bien !

Je te remercie énormément de ton aide. J'ai maintenant un code qui vaut de l'or et donc je vais me servir dans de nombreuses applications.

UN ENORME MERCI POUR TOI !!!
 

alias_2003

XLDnaute Occasionnel
Re : Redimensionnement d'un userform

Bonjour laetiti90, le Forum,
Je déterre ce post :rolleyes:...
@ Laetitia90 : je testais ton dernier fichier et j'aimerais savoir s'il serait possible que l'userform ne s'affiche pas en plein écran mais plutot à la taille de l'application (application.width -10 et application.height-10) ?
Merci beaucoup,
Bonne journée,
Amicalement
 

alias_2003

XLDnaute Occasionnel
Re : Redimensionnement d'un userform

Bonjour mapomme,
Merci beaucoup de ta réponse ! Actuellement je passe par le zoom pour adapter mon userform selon la résolution des pc de mes collègues, mais ce n'était pas satisfaisant, la police était soit trop petite, soit trop grande et certains labels étaient coupés...
Je regarde ton code, qui est sans doute bien mieux que le mien !
Merci encore,
Bonne journée !
 

Roland_M

XLDnaute Barbatruc
Re : Redimensionnement d'un userform

bonjour à tous

voir sans API toujours compatible !
adapte à la résolution avec position au choix ! ((voir le module !)
possibilité plein écran !

voir code simple dans code userf
mettre la résolution d'origine de vos userforms (j'ai mis 1600,900) à vous de voir
celui-ci se sert de zoom j'ai le même en redim mais zoom est plus souple et plus fiable !

'Position="" ou "centre" "haut" "<haut" "haut>" "bas" "<bas" "bas>"
'... Me, ResolutionX d'origine, ResolutionY d'origine (création de l'userf)
Private Sub UserForm_Initialize()
UserformZoom Me, 1600, 900, "centre" '< pour zoom à la résolution position centre
'UserformZoomEcran Me '< pour zoom plein écran limité à la Largeur ou la Hauteur
'UserformZoomEcran Me, True '< idem userf tout écran sans les ctrls pour ne pas déformer
End Sub



EDIT:

voir avec redim et resize de patricktoulon(améloré!)
 

Pièces jointes

  • RefdimUserf_Rol2.xls
    87 KB · Affichages: 11
  • RefdimUserf_Rol.xls
    72.5 KB · Affichages: 13
  • RefdimUserf_Rol3.xls
    72 KB · Affichages: 10
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Redimensionnement d'un userform

Re,

J'ai modifié le fichier initial pour le simplifier et mieux adapter la largeur et la hauteur de userform1 en fonction des rapports des largeur et hauteur entre l'application Excel et la taille initiale de Userform1.

La taille de userform1 s'adapte à celle de la fenêtre d'Excel en conservant le ratio entre largeur et hauteur d'origine de userform1.

Edit : Bonjour Roland_M :)
 

Pièces jointes

  • alias_2003- Zoomer Userform- v1.xlsm
    33.3 KB · Affichages: 46
Dernière édition:

alias_2003

XLDnaute Occasionnel
Re : Redimensionnement d'un userform

Bonjour Roland, mapomme, tous les autres,
MERCI beaucoup pour vos fichiers ! C'est très intéressant ! Ce qui me "gêne" est le changemet de taille de la police selon les pc. J'ai testé vos fichiers sur 2 pc différents, dans un cas le rendu est parfait, dans l'autre (pc avec une réso plus faible), la taille de la police est disproportionnée....
Pas sûr que ce problème puisse être résolu...
Merci beaucoup !
 

alias_2003

XLDnaute Occasionnel
Re : Redimensionnement d'un userform

Bonjour à tous,
Désolé pour le délai, je n'ai pas eu de notification.
@ laetitia90 et modeste geedee, c'est exactement ce qu'il me fallait ! J'ai modifié votre code pour mémoriser les dimensions de mes labels. Par contre, selon la résolution, la police de tous les labels n'est pas homogène !?! La police de certains labels est plus grande ou plus petite, tout dépend de la taille de mes labels... Une idée de la raison ? Y a-t-il des règles à respecter ?

Merci beaucoup !!
Bonne journée
 

Pièces jointes

  • user (1).xlsm
    24.7 KB · Affichages: 23
Dernière édition:

Membres actuellement en ligne

Statistiques des forums

Discussions
313 027
Messages
2 094 517
Membres
106 037
dernier inscrit
kZeg