Bonjour,
Agacé par le temps passé à positionner les boutons OK et Cancel de mes UserForm, j'avais il y a quelques temps développé une petite procédure qui gérait cela automatiquement.
Il y a deux jours, j'ai rajouté des constantes pour pouvoir mieux encore paramétrer cette procédure.
Je me suis dit que cela pourrait peut-être profiter à d'autres.
Voici donc le code.
Les boutons sont nommés cbOK et cbCancel
Vos remarques et/ou suggestions sont les bienvenues
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 Private Sub UserForm_Initialize() PosButton ' Positionne les boutons Ok/Cancel End Sub Private Sub cbOK_Click() ' Call Mise à jour données Unload Me End Sub Private Sub cbCancel_Click() Unload Me End Sub Private Sub PosButton() ' Positionnement automatique des boutons cbOk & cbCancel ' Philippe Tulliez - 2009/04/20 ' Update ' 2011-07-27 - Ajouté constantes ' Const ' Title - Propriété Caption de UserForm ' Marge - distance entre btns et bord droit/bas de Userform ' bWidth - Largeur des boutons ' sOk & sCancel - Propriété Caption des btns Const Title As String = "Ecran Auto" Const Marge As Byte = 10 Const bWidth As Byte = 60 Const sOk As String = "Confirmer" Const sCancel As String = "Annuler" ' With Me ' Init Button .Caption = Title .cbOK.Width = bWidth: .cbCancel.Width = bWidth .cbOK.Left = .Width - (Marge + .cbOK.Width) .cbOK.Top = .Height - (20 + Marge + .cbOK.Height) .cbCancel.Top = .Height - (20 + Marge + .cbCancel.Height) .cbCancel.Left = .Width - ((Marge + .cbOK.Width) + (Marge + .cbCancel.Width)) .cbOK.Caption = sOk: .cbCancel.Caption = sCancel .cbOK.TabIndex = 0: .cbCancel.TabIndex = 1 '.Caption = mVbGenFun.ExtName(ActiveDocument.AttachedTemplate) & " - " & mVbGenFun.ExtName(ActiveDocument.Name) End With End Sub
Partager