Centrer les Contrôles dans un UserForm en VBA

Ds_Angers -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Pour centrer un contrôle dans un formulaire, vous pouvez utiliser la commande "Format/Centrer sur la feuille ...". Cependant, si vous voulez le faire via une procédure, pour les besoins de votre application, vous devez agir sur les propriétés du contrôle (Top et Left).
Top pour la position haute par rapport au bord de la feuille, et Left pour la position gauche.

Pour faire le calcul de position, on utilisera la hauteur du formulaire (UserForm1.Height) et sa largeur (UserForm1.width). Ces deux valeurs, correspondent à la taille "Hors-tout" du formulaire et non à son espace de travail. L'espace réellement disponible pour les contrôles sera obtenu en retranchant les bordures du formulaire qui sont de :

Haute + basse : 29.30 Droite + gauche : 12

L'instruction pour centrer un contrôle, sera donc :

Verticalement
UserForm1.Contrôle.Top = (UserForm1.Height - 29.3 - UserForm1.Contrôle.Height) / 2

Horizontalement
UserForm1.Contrôle.Left = (UserForm1.Width - 12 - UserForm1.Contrôle.Width) / 2

Bonne Programmation






Configuration: Windows / Edge 92.0.902.55

1 réponse

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
0