Module permettant de redimensionner tous les controles d'une feuille quand celle-ci est redimensionnée.
Source / Exemple :
'Nom: RedimForm
'Création: Samuel Hanoteau, Gradué (13/09/2000-14/09/2000)
'Description: redimensionne proportionnellement les contrôles de la Form active en fonction de son redimensionnement.
'Remarque: à appeler depuis le code lié à Form_Resize.
Option Explicit
Public Sub RedimForm()
Dim Feuille As Form
Set Feuille = Screen.ActiveForm
If (Feuille.WindowState = vbMinimized) Then
Exit Sub
End If
Static Longueur As Long
Static Hauteur As Long
Dim PropLongueur As Single
Dim PropHauteur As Single
If ((Longueur > 0) And (Hauteur > 0)) Then
PropLongueur = Feuille.Width / Longueur
PropHauteur = Feuille.Height / Hauteur
Dim Ctrl As Control
On Error Resume Next
For Each Ctrl In Feuille.Controls
Ctrl.Left = CInt(Ctrl.Left * PropLongueur)
Ctrl.Top = CInt(Ctrl.Top * PropHauteur)
Ctrl.Width = CInt(Ctrl.Width * PropLongueur)
Ctrl.Height = CInt(Ctrl.Height * PropHauteur)
Next
On Error GoTo 0
End If
Longueur = Feuille.Width
Hauteur = Feuille.Height
End Sub
Conclusion :
Il y a un bug quand on choisit une dimension trop petite pour la hauteur. Si vous avez une solution: mailez-moi !
Sam
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.