Taille userform et composants

craig974

XLDnaute Occasionnel
Bonjour,

Je sais que ce problème a déjà été exposé dans plusieurs fois et dans plusieurs forum mais si je m'autorise à demander de l'aide ici c'est bien parceque je n'y arrive pas.

Je voudrais que l'userform s'ajuste à la taille de l'écran mais aussi les composants qui lui sont propres (multipage => avec combobox textbox label check box etc)

j'ai pu trouver sur internet cette solutin
Code:
Dim ctl As Control
Dim ratiow As String
Dim ratioh As String
 
ratiow = Application.Width / Me.Width
ratioh = Application.Height / Me.Height
Me.Left = 0
Me.Top = 0
Me.Width = Application.Width
Me.Height = Application.Height
For Each ctl In Me.Controls
  ctl.Left = ctl.Left * ratiow
  ctl.Top = ctl.Top * ratioh
  ctl.Width = ctl.Width * ratiow
  ctl.Height = ctl.Height * ratioh
  ctl.FontSize = ctl.FontSize * ratioh
Next

mais j'ai un message d'erreur qui s'affiche "propriété ou méthode non gérée" par rapport à la ligne ctl.FontSize = ctl.FontSize * ratioh en la supprimant sa ne donne pas ce que je veux. Je l'ai placé dans Userform_Initialize() j'ai aussi essayé dans userform_activate

Merci d'avance


edit je me reprend quand j'enleve la ligne a probleme sa ajuste quasiment comme il faut mais la fenetre peut bouger ma question comment faire pour quelle reste immobile comme une fenetre windows en plein ecran ?
 
Dernière édition:

craig974

XLDnaute Occasionnel
Re : Taille userform et composants

Bonjour a vous,
En faite par rapport a ce que j'ai mis sa ne fonctionne toujours pas ... en enlevant la ligne problématique j'obtiens comme laetitia90 otient avec son code (avec une fenetre qui dépasse de pas grand chose l'écran) (ce qui me dérange c'est que la fenêtre n'est pas immobile dans ce cas la, si il n'y a pas de solution a ce problème je ferais avec )

edit: et sans le fontsize (c'est a dire le seul moyen pour faire marcher) j'obtiens la meme chose que banzai64 alors qu'avec le code de laetitia90 le fontsize fonctionne bien insérer dans mon code (enfin comme mon code sans le fontsize mais sans message d'erreur)
 
Dernière édition:

craig974

XLDnaute Occasionnel
Re : Taille userform et composants

Re,
Que si on cliquait sur la barre bleu et qu'on deplacé la souris sa déplacait la fenetre aussi.

mais en rajoutant sa a mon code "sans le fontsize" sa bloque la fenetre comme il faut apparamnet
Code:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetSystemMenu Lib "user32" _
(ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function DeleteMenu Lib "user32" _
(ByVal hMenu&, ByVal nPosition&, ByVal wFlags&) As Long
par contre j'avoue ne pas avoir pris encore le temps d'en comprendre la signification.
 

Banzai64

XLDnaute Accro
Re : Taille userform et composants

Bonjour

Un autre essai avec Fontsize (bizarre que cela ne passe pas)

Suppression de la bande bleue (le code n'est pas de moi (on s'en doutait))


CommandButton1 permet de quitter
 

Pièces jointes

  • Classeur1.xls
    47.5 KB · Affichages: 85
  • Classeur1.xls
    47.5 KB · Affichages: 93
  • Classeur1.xls
    47.5 KB · Affichages: 86

laetitia90

XLDnaute Barbatruc
Re : Taille userform et composants

re,si tu tapes "empecher deplacer userform vba" dans google tu vas trouver des api qui le font mais attention dans beaucoup de cas supprime le bandeau bleu prevoir un bouton pour sortir je conseille pas trop !!!

edit : banzai j'avais pas vu ton dernier post c'est bien ce style de code
 
Dernière édition:

laetitia90

XLDnaute Barbatruc
Re : Taille userform et composants

re, peut être pour faire simple tu rajoute ce code
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Me.Top = 0: Me.Left = 0
End Sub

je viens d'essayer ca marche l'ecran reprend sa place

je viens de retester le code de l'ami banzai chez moi ca marche trés bien egalement bizarre !!
 
Dernière édition:

craig974

XLDnaute Occasionnel
Re : Taille userform et composants

Merci à vous j'essayerais ca demain.
J'avais deja dans l'idée de tout fermer par un bouton donc il est deja fait ainsi je pourrait tester le code posté par banzai.
J'avoue ne pas très bien comprendre pourquoi le fontsize ne marche pas avec moi .

@++
 

craig974

XLDnaute Occasionnel
Re : Taille userform et composants

Merci à vous trois, j'ai finalement gardé le code que j'avais sans le fontsize, et pour ce qui est d’empêcher la fenêtre de bouger j'avais d'abord essayer l'astuce de laetitia90 j'ai ensuite changer les mots clés de mes recherches la dessus pour tomber sur ce que laetitia90 a vu, et qui marche (après effectivement sa enlève la barre bleue).
Donc merci, maintenant va falloir que je choissise entre immobile sans barre bleue ou avec barre bleue mais astuce à laetitia90 ;)
 

Statistiques des forums

Discussions
312 348
Messages
2 087 508
Membres
103 568
dernier inscrit
NoS