Redimform

Contenu du snippet

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.