Tout est dit dans le titre, je pense, mais y'a juste un petit problème si vous changez un peu trop les dimentions, les contrôles risquent de bouger.
Source / Exemple :
'Code de Florent.
'Si vous ajoutez ce code dans un de vos programmes, citez-moi.
Option Explicit
Dim OldWidth As Integer 'On va stocker l'ancienne largeur de la feuille dans cette variable
Dim OldHeight As Integer 'De même pour le hauteur
Private Sub Form_Load()
OldWidth = Width 'Au chargement, l'ancienne largeur de la feuille est la largeur actuelle
OldHeight = Height 'De même pour la hauteur
End Sub
Private Sub Form_Resize()
On Error Resume Next 'Si il y a une erreur, on continue
Dim XCoeff As Single 'Le coefficient qui va nous servir pour la largeur et le placement horizontal des contrôles
Dim YCoeff As Single 'De même pour la hauteur et le placement vertical des contrôles
Dim Controle As Control 'Control représente n'importe quel contrôle de la feuille
XCoeff = Width / OldWidth 'Un simple rapport entre la nouvelle largeur et l'ancienne
YCoeff = Height / OldHeight 'Dee même pour la hauteur
For Each Controle In Me 'Pour chaque controle de la feuille...
Controle.Move Controle.Left * XCoeff, Controle.Top * YCoeff, Controle.Width * XCoeff, Controle.Height * YCoeff 'On le déplace et redimmentionne en même temps
Next 'Et on passe au suivant
OldWidth = Width 'On change l'ancienne largeur par la nouvelle
OldHeight = Height 'De même avec la hauteur
End Sub
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.