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 -
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
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
A voir également:
- Centrer les Contrôles dans un UserForm en VBA
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Mkdir vba ✓ - Forum VB / VBA
- Dépassement de capacité vba ✓ - Forum Excel
1 réponse
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
as-tu une question?
ceci t'aidera peut-être: https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
as-tu une question?
ceci t'aidera peut-être: https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/