Mettre l'UserForm en plein écran et centrer les contrôles
ajca29
Messages postés
9
Statut
Membre
-
ajca29 Messages postés 9 Statut Membre -
ajca29 Messages postés 9 Statut Membre -
Bonjour,
J'ai un programme de gestion de résultats sportifs et mon problème est le suivant :
- j'arrive à afficher l'userform en plein écran mais les contrôles sont correctement représentés, mais à gauche de l'usf. (avec seulement la partie initialize)
- le code ci-joint, activate, me fait apparaître qu'une petite portion de l'usf en haut à gauche de l'écran.
Auriez-vous une solution à me proposer ?
Merci pour votre aide
Bien amicalement
ajca29
Private Sub Workbook_Open()
'Masquer les colonnes contenant les avertissements
Columns("CB:DA").Select
Selection.EntireColumn.Hidden = True
UserForm2.Show
End Sub
Private Sub UserForm_Initialize()
With UserForm2
.StartUpPosition = 3
.Width = Application.Width
.Height = Application.Height
End With
End Sub
Private Sub UserForm_Activate()
Dim RW As Single, RH As Single
Me.Width = ScreenWidth * PointsPerPixel
Me.Height = ScreenHeight * PointsPerPixel
RW = ScreenWidth * PointsPerPixel / Me.Width
RH = ScreenHeight * PointsPerPixel / Me.Height
Dim Ctl As MSForms.Control
For Each Ctl In Me.Controls
Ctl.Move Ctl.Left * RW, Ctl.Top * RH, Ctl.Width * RW, Ctl.Height * RH
Next
End Sub
Private Sub Bouton_Annulation_Click()
TextBox1.Text = "" 'Effacement du contenu des TextBox
TextBox2.Text = ""
TextBox3.Text = ""
End Sub
J'ai un programme de gestion de résultats sportifs et mon problème est le suivant :
- j'arrive à afficher l'userform en plein écran mais les contrôles sont correctement représentés, mais à gauche de l'usf. (avec seulement la partie initialize)
- le code ci-joint, activate, me fait apparaître qu'une petite portion de l'usf en haut à gauche de l'écran.
Auriez-vous une solution à me proposer ?
Merci pour votre aide
Bien amicalement
ajca29
Private Sub Workbook_Open()
'Masquer les colonnes contenant les avertissements
Columns("CB:DA").Select
Selection.EntireColumn.Hidden = True
UserForm2.Show
End Sub
Private Sub UserForm_Initialize()
With UserForm2
.StartUpPosition = 3
.Width = Application.Width
.Height = Application.Height
End With
End Sub
Private Sub UserForm_Activate()
Dim RW As Single, RH As Single
Me.Width = ScreenWidth * PointsPerPixel
Me.Height = ScreenHeight * PointsPerPixel
RW = ScreenWidth * PointsPerPixel / Me.Width
RH = ScreenHeight * PointsPerPixel / Me.Height
Dim Ctl As MSForms.Control
For Each Ctl In Me.Controls
Ctl.Move Ctl.Left * RW, Ctl.Top * RH, Ctl.Width * RW, Ctl.Height * RH
Next
End Sub
Private Sub Bouton_Annulation_Click()
TextBox1.Text = "" 'Effacement du contenu des TextBox
TextBox2.Text = ""
TextBox3.Text = ""
End Sub
3 réponses
-
Bonjour,
Ta question ressemble beaucoup au sujet traité ici : https://forums.commentcamarche.net/forum/affich-4340944-vba-taille-userform-sous-excel#3
Les variables de ton code en gras ne sont calculées que si tu définis les fonctions associées (ScreenWidth,...).
A+-
-
-
-
-
https://www.cjoint.com/?0Iehv6wdEhj
Quand je vais sur cjoint, on me dit que le lien n'est pas ou n'est plus disponible.
clui-ci est un nouveau lien
-
-
le lien est https://www.cjoint.com/?0IehlgxTX5mp
J'avoue ne pas trop comprendre le fonctionnement de cjoint
Amicalement
ajca29 -
Bonjour,
Quel version d'Excel Stp
Si 2007 ou >, voir ce tuto
A+