Redimform

0/5 (5 avis)

Snippet vu 5 806 fois - Téléchargée 70 fois

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
Ajouter un commentaire Commentaires
Galactus13
Messages postés
332
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
10 avril 2020
1
5 nov. 2009 à 18:20
Il suffit de rajouter dans Form_Resize()
If Me.windowsState <> 1 then RedimForm

et dans RedimForm()
On error goto Erreur
...

Erreur:

end sub
thepoe
Messages postés
30
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
1 juin 2011

3 janv. 2006 à 01:07
J'ai aussi un bug, mais ca semblais être super...
sobocan
Messages postés
2
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
2 juillet 2003

2 juil. 2003 à 16:06
Le code fonctionne; il faut simplement mettre tes contrôles de ta form
dans un contrôle "SSTab1"
cs_Linkuff
Messages postés
24
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
12 janvier 2005

23 mai 2003 à 10:46
Excellent script simple et efficace :) Merci ! Pour ce qui est de la taille petite, j'utilise un script complémentaire empéchant le redimensionnement en dessous d'une certaine taille.
moi aussi y a un bug : sa marche pas...

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.