Mettre un userform et ses controls sur tout l'écran

  • Initiateur de la discussion Initiateur de la discussion joums
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

joums

XLDnaute Occasionnel
Bonjour,

J'ai un userform avec plusieurs contrôle différents (boutton, combobox etc...)

je souhaite que le userform prenne la totalité de l'écran de l'utilisateur et que les contrôles associés s'ajuste automatiquement.

Voici le code utiliser pour le moment
Code:
Private Sub UserForm_Initialize()
Me.Width = Application.Width
Me.Height = Application.Height
End Sub

mais il faut aussi régler les dimensions des divers contrôles et la je sèche ...

Merci de votre aide
 
Re : Mettre un userform et ses controls sur tout l'écran

Bonjour Papou-net,
merci pour ta contribution, cela répond à mon besoin, c'est tout simplement super !!!!

j'ai juste une question si je peux ..... j'ai aussi des optionbuttons dans un userform,
comment faire pour qu'ils s'ajustent également

Encore merci
Bonne journée
 
Re : Mettre un userform et ses controls sur tout l'écran

j'ai juste une question si je peux ..... j'ai aussi des optionbuttons dans un userform,
comment faire pour qu'ils s'ajustent également

Tu n'as absolument rien d'autre à faire que d'ajouter tes boutons d'options dans ton formulaire : la boucle For Each ... Next balaie tous les contrôles contenus dans ton UserForm, quel qu'en soit le type.

Je t'invite donc à ajouter d'autres contrôles et à lancer la macro pour vérifier mes affirmations.

Bonne fin de journée.

Cordialement.
 
Re : Mettre un userform et ses controls sur tout l'écran

J'ai l'impression qu'ils ont la même taille pourtant....
mais cela me convient parfaitement
encore merci
A+
Cdt,

Effectivement, si tu parles de la taille des ronds ou des carrés à cocher, elle ne varie pas avec les propriétés de hauteur des contrôles. Et je ne connais pas le moyen de faire varier leur taille. Ca peut faire l'objet d'une question à part sur ce forum, et qui pourrait intéresser un "Barbatruc" ?

Cordialement.
 
Re : Mettre un userform et ses controls sur tout l'écran

Bonjour,

je me suis servi de votre code pour l'un de mes userform.
Pourriez vous me l'expliquer ligne par ligne (histoire de ne pas faire un copier coller sans comprendre...).

Merci

Cordialement

Bonsoir LucieVB,

Voici le code avec des commentaires :

Code:
Private Sub UserForm_Activate()
[I][COLOR="Gray"]' L'ensemble de ce code étant situé dans le module de UserForm1, on utilise Me pour désigner celui-ci
' Me est plus court à écrire que UserForm1, et si l'on recopie ce code dans un autre module, il n'y a rien à changer[/COLOR][/I]

[I][COLOR="Gray"]' ratiow = variable qui représente le rapport entre la largeur de l'écran (Application.width)et celle de UserForm1 (Me)[/COLOR][/I]
ratiow = Application.Width / Me.Width

[I][COLOR="Gray"]' ratioh = variable qui représente le rapport entre la hauteur de l'écran (Application.width)et celle de UserForm1 (Me)[/COLOR][/I]
ratioh = Application.Height / Me.Height

[I][COLOR="Gray"]' On définit la position du coin supérieur gauche du UserForm à 0, pour qu'il coïncide avec le coin
' supérieur gauch de l'écran[/COLOR][/I]
Me.Left = 0
Me.Top = 0

[I][COLOR="Gray"]' On définit la largeur et la hauteur du UserForm pour qu'elles correspondent avec celles de l'écran[/COLOR][/I]
Me.Width = Application.Width
Me.Height = Application.Height

[I][COLOR="Gray"]' On balaie tous les contrôles contenus dans le UserForm, et on multiplie les valeurs de position, de dimensions
' et de hauteur de police par les ratios calculés en début de procédure[/COLOR][/I]
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
End Sub

J'espère avoir été assez précis.

Si je reste à ta disposition pour tout autre point nébuleux, n'oublie pas qu'en double-cliquant sur un mot-clé et en appuyant sur F1, l'aide de VBA t'apportera toutes les précisions quant à la syntaxe exacte et les paramètres éventuels.

Cordialement.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour