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