Titre: Redimension d'une fenêtre.

Description:

Redimensionner une fenêtre ainsi que les contrôles qui se trouvent dans la fenêtre.

Le code:

Option Explicit
Dim Objet

Private Sub Form_Load()
On Error Resume Next
Me.Tag = CStr(Me.Width) & ":" & CStr(Me.Height)
For Each Objet In Me
  Objet.Tag = CStr(Objet.X1) & ":" & CStr(Objet.Y1) & ";" & CStr(Objet.X2) & "!" & CStr(Objet.Y2)
  Objet.Tag = CStr(Objet.Width) & ":" & CStr(Objet.Height) & ";" & CStr(Objet.Left) & "!" & CStr(Objet.Top)
Next Objet
End Sub

Private Sub Form_Resize()
On Error Resume Next
For Each Objet In Me
'pour les graphiques
  Objet.X1 = Val(Mid(Objet.Tag, 1, InStr(Objet.Tag, ":") - 1)) * Me.Width / Val(Mid(Me.Tag, 1, InStr(Me.Tag, ":") - 1))
  Objet.Y1 = Val(Mid(Objet.Tag, InStr(Objet.Tag, ":") + 1, Len(Objet.Tag) - InStr(Objet.Tag, ":") + 1)) * Me.Height / Val(Mid(Me.Tag, InStr(Me.Tag, ":") + 1, Len(Me.Tag) - InStr(Me.Tag, ":") + 1))
  Objet.X2 = Val(Mid(Objet.Tag, InStr(Objet.Tag, ";") + 1, Len(Objet.Tag) - InStr(Objet.Tag, ";") + 1)) * Me.Width / Val(Mid(Me.Tag, 1, InStr(Me.Tag, ":") - 1))
  Objet.Y2 = Val(Mid(Objet.Tag, InStr(Objet.Tag, "!") + 1, Len(Objet.Tag) - InStr(Objet.Tag, "!") + 1)) * Me.Height / Val(Mid(Me.Tag, InStr(Me.Tag, ":") + 1, Len(Me.Tag) - InStr(Me.Tag, ":") + 1))
'pour le reste
  Objet.Width = Val(Mid(Objet.Tag, 1, InStr(Objet.Tag, ":") - 1)) * Me.Width / Val(Mid(Me.Tag, 1, InStr(Me.Tag, ":") - 1))
  Objet.Height = Val(Mid(Objet.Tag, InStr(Objet.Tag, ":") + 1, Len(Objet.Tag) - InStr(Objet.Tag, ":") + 1)) * Me.Height / Val(Mid(Me.Tag, InStr(Me.Tag, ":") + 1, Len(Me.Tag) - InStr(Me.Tag, ":") + 1))
  Objet.Left = Val(Mid(Objet.Tag, InStr(Objet.Tag, ";") + 1, Len(Objet.Tag) - InStr(Objet.Tag, ";") + 1)) * Me.Width / Val(Mid(Me.Tag, 1, InStr(Me.Tag, ":") - 1))
  Objet.Top = Val(Mid(Objet.Tag, InStr(Objet.Tag, "!") + 1, Len(Objet.Tag) - InStr(Objet.Tag, "!") + 1)) * Me.Height / Val(Mid(Me.Tag, InStr(Me.Tag, ":") + 1, Len(Me.Tag) - InStr(Me.Tag, ":") + 1))
Next Objet
End Sub