wwwho.solutions
XLDnaute Junior
Hello à tous et toutes,
J'essaye de réutiliser certains de mes outils (développés sur excel 2007 & 2010 PC) et d'en créer d'autres mais je suis passé sur MAC... ;-(
Et oui.....
Pleins de fils existent sur le sujet: Redimensionner un USF en fonction de l'écran, ainsi que ces controls, mais sur PC...
Ceux que j'ai trouvé sur MAC non plus ou pas de solutions ou de Pj,
exemple: https://www.excel-downloads.com/thr...mensionner-des-usf-proportionnellement.96108/
Il faudrait que je parvienne à maitriser si cela est possible cette fonction.
Merci à toutes et tous qui pourront apporter de l'eau à mon moulin.
A plus tard peux être.
PS:
A l'époque sur PC, j'utilisais ceci et ça marchait impeccable(ça pourra peux être servir à l'un d'entre vous)
Dans le module de l'USF
Private Sub UserForm_Initialize()
Call determine1
With UserForm1
.Width = Application.Width - 5
.Height = Application.Height - 5
End With
End Sub
Private Sub UserForm_Resize()
'Dim L() As Integer
On Error Resume Next
I = 0
For Each ctrl In Controls
I = I + 1
ctrl.Width = Me.Width / (largeur_usf / Longueur(I))
ctrl.Height = Me.Height / (hauteur_usf / h(I))
ctrl.Left = Me.Width / (largeur_usf / leftbouton(I))
ctrl.Top = Me.Height / (hauteur_usf / topbouton(I))
ctrl.FontSize = ((Me.Height + Me.Width) / 8) / (fontbouton * 2)
Next
End Sub
Et en Module:
Option Explicit
Public Longueur(), h(), leftbouton(), topbouton() As String, I, fontbouton As Integer
Public ctrl As Control, largeur_usf, hauteur_usf As Long
Sub determine1()
fontbouton = 12
hauteur_usf = UserForm1.Height
largeur_usf = UserForm1.Width
I = 0
For Each ctrl In UserForm1.Controls
I = I + 1
ReDim Preserve Longueur(I)
Longueur(I) = ctrl.Width
ReDim Preserve h(I)
h(I) = ctrl.Height
ReDim Preserve topbouton(I)
topbouton(I) = ctrl.Top
ReDim Preserve leftbouton(I)
leftbouton(I) = ctrl.Left
Next
End Sub
J'essaye de réutiliser certains de mes outils (développés sur excel 2007 & 2010 PC) et d'en créer d'autres mais je suis passé sur MAC... ;-(
Et oui.....
Pleins de fils existent sur le sujet: Redimensionner un USF en fonction de l'écran, ainsi que ces controls, mais sur PC...
Ceux que j'ai trouvé sur MAC non plus ou pas de solutions ou de Pj,
exemple: https://www.excel-downloads.com/thr...mensionner-des-usf-proportionnellement.96108/
Il faudrait que je parvienne à maitriser si cela est possible cette fonction.
Merci à toutes et tous qui pourront apporter de l'eau à mon moulin.
A plus tard peux être.
PS:
A l'époque sur PC, j'utilisais ceci et ça marchait impeccable(ça pourra peux être servir à l'un d'entre vous)
Dans le module de l'USF
Private Sub UserForm_Initialize()
Call determine1
With UserForm1
.Width = Application.Width - 5
.Height = Application.Height - 5
End With
End Sub
Private Sub UserForm_Resize()
'Dim L() As Integer
On Error Resume Next
I = 0
For Each ctrl In Controls
I = I + 1
ctrl.Width = Me.Width / (largeur_usf / Longueur(I))
ctrl.Height = Me.Height / (hauteur_usf / h(I))
ctrl.Left = Me.Width / (largeur_usf / leftbouton(I))
ctrl.Top = Me.Height / (hauteur_usf / topbouton(I))
ctrl.FontSize = ((Me.Height + Me.Width) / 8) / (fontbouton * 2)
Next
End Sub
Et en Module:
Option Explicit
Public Longueur(), h(), leftbouton(), topbouton() As String, I, fontbouton As Integer
Public ctrl As Control, largeur_usf, hauteur_usf As Long
Sub determine1()
fontbouton = 12
hauteur_usf = UserForm1.Height
largeur_usf = UserForm1.Width
I = 0
For Each ctrl In UserForm1.Controls
I = I + 1
ReDim Preserve Longueur(I)
Longueur(I) = ctrl.Width
ReDim Preserve h(I)
h(I) = ctrl.Height
ReDim Preserve topbouton(I)
topbouton(I) = ctrl.Top
ReDim Preserve leftbouton(I)
leftbouton(I) = ctrl.Left
Next
End Sub