Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Taille d'un USERFORM auto

11 réponses
Avatar
PJ
Bonjour à tous,

Est-il possible que la taille d'un
userform s'adapte automatiquement à la définition de l'écran ainsi qu'à sa
taille?
En effet, je suis en plein écran sur le mien et sur l'autre je ne vois pas
tout le userform...Auriez-vous une idée?

Merci d'avance pour vos suggestions.

Cordialement PJ

10 réponses

1 2
Avatar
laurent.daures
Bonjour,
Private Sub UserForm_Initialize()
UserForm1.Height = Application.Height
UserForm1.Width = Application.Width
End Sub

Amicalement
Siesting Hoax

"PJ" a écrit dans le message de news:

Bonjour à tous,

Est-il possible que la taille d'un
userform s'adapte automatiquement à la définition de l'écran ainsi qu'à sa
taille?
En effet, je suis en plein écran sur le mien et sur l'autre je ne vois pas
tout le userform...Auriez-vous une idée?

Merci d'avance pour vos suggestions.

Cordialement PJ


Avatar
LE TROLL
Bonjour,

Est-ce que ce qui suit marcherait ?

Sub Form_Load()
WindowState = vbMaximized
End Sub

De mémoire il y a des fonctions qui te donnent la taille de la
définition, mais ça n'est pas utilisable ainsi, car il ne suffit pas de
connaître le nombre de pixels, mais encore la taille de l'écran, afin de
calculer la taille du pixel... Une API calcule je crois la taille physique
en cm par exemple, mais si mes souvenirs sont bons, ça n'avait pas l'air de
fonctionner...

Sub Form_Load()
Form1.ScaleMode = vbPixels
WindowState = vbMaximized
End Sub

Sub Form_Activate()
MsgBox Screen.Width & " X " & Screen.Height
End Sub

De toute façon, ceci n'est pas toujours une solution, car même si tu a tous
les paramètres, ce n'est pas certains que tu puisses adapter ta form à cause
de la lisibilité de ses objets. Mieux vaut des forms les plus petites
possibles avec un resize contrôlé de l'espacement des objets et polices si
l'utilisateur change de taille...

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"PJ" a écrit dans le message de
news:
Bonjour à tous,

Est-il possible que la taille d'un
userform s'adapte automatiquement à la définition de l'écran ainsi qu'à sa
taille?
En effet, je suis en plein écran sur le mien et sur l'autre je ne vois pas
tout le userform...Auriez-vous une idée?

Merci d'avance pour vos suggestions.

Cordialement PJ


Avatar
PJ
Bonjour,

Cela marche super pour le userform mais j'ai oublié de préciser qu'il y
avait des boutons actions. Or avec les boutons, tout ne s'affiche pas. Ne
serait-il pas possible de faire un re-size général?

Avez-vous une idée?
Merci

"laurent.daures" wrote:

Bonjour,
Private Sub UserForm_Initialize()
UserForm1.Height = Application.Height
UserForm1.Width = Application.Width
End Sub

Amicalement
Siesting Hoax

"PJ" a écrit dans le message de news:

> Bonjour à tous,
>
> Est-il possible que la taille d'un
> userform s'adapte automatiquement à la définition de l'écran ainsi qu'à sa
> taille?
> En effet, je suis en plein écran sur le mien et sur l'autre je ne vois pas
> tout le userform...Auriez-vous une idée?
>
> Merci d'avance pour vos suggestions.
>
> Cordialement PJ





Avatar
PJ
Bonjour et merci du coup de main mais comme j'ai répondu à Laurent, j'ai
oublié de préciser que sur mon userform, il y avait des boutons actions. Ne
serait-il pas possible de redimensionner le tout avec une fonction?
Merci d'avance.

Salutations
PJ

"LE TROLL" wrote:

Bonjour,

Est-ce que ce qui suit marcherait ?

Sub Form_Load()
WindowState = vbMaximized
End Sub

De mémoire il y a des fonctions qui te donnent la taille de la
définition, mais ça n'est pas utilisable ainsi, car il ne suffit pas de
connaître le nombre de pixels, mais encore la taille de l'écran, afin de
calculer la taille du pixel... Une API calcule je crois la taille physique
en cm par exemple, mais si mes souvenirs sont bons, ça n'avait pas l'air de
fonctionner...

Sub Form_Load()
Form1.ScaleMode = vbPixels
WindowState = vbMaximized
End Sub

Sub Form_Activate()
MsgBox Screen.Width & " X " & Screen.Height
End Sub

De toute façon, ceci n'est pas toujours une solution, car même si tu a tous
les paramètres, ce n'est pas certains que tu puisses adapter ta form à cause
de la lisibilité de ses objets. Mieux vaut des forms les plus petites
possibles avec un resize contrôlé de l'espacement des objets et polices si
l'utilisateur change de taille...

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"PJ" a écrit dans le message de
news:
> Bonjour à tous,
>
> Est-il possible que la taille d'un
> userform s'adapte automatiquement à la définition de l'écran ainsi qu'à sa
> taille?
> En effet, je suis en plein écran sur le mien et sur l'autre je ne vois pas
> tout le userform...Auriez-vous une idée?
>
> Merci d'avance pour vos suggestions.
>
> Cordialement PJ



Avatar
Misange
Bonjour

Télécharge ce super exemple de Michel Pierron
http://www.excelabo.net/moteurs/compteclic.php?nom=mp-resizeuserform" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.excelabo.net/moteurs/compteclic.php?nom=mp-resizeuserform

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

PJ a écrit :
Bonjour à tous,

Est-il possible que la taille d'un
userform s'adapte automatiquement à la définition de l'écran ainsi qu'à sa
taille?
En effet, je suis en plein écran sur le mien et sur l'autre je ne vois pas
tout le userform...Auriez-vous une idée?

Merci d'avance pour vos suggestions.

Cordialement PJ


Avatar
LE TROLL
Oui, c'est possible, c'est même logique, il faut rendre variable avec des
marge à ne pas dépasser, tous les objets et les polices, ainsi, selon la
taille de la feuille les objet et leur texte va suivre. Ceci dans :

Sub Form_Resize()

End Sub

Ou ce qui en tien lieu dans le vbA. Par contre il faudra aussi gérer
Windowstate, sinon tu auras des plantages :
object.WindowState [= value]
Constante Valeur Description
VbNormal 0 (Valeur par défaut.) Normal.
VbMinimized 1 Réduit à une icône.
VbMaximized 2 Agrandi à la taille maximale.


--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://irolog.free.fr
_______________________
.
.


"PJ" a écrit dans le message de
news:
Bonjour et merci du coup de main mais comme j'ai répondu à Laurent, j'ai
oublié de préciser que sur mon userform, il y avait des boutons actions.
Ne
serait-il pas possible de redimensionner le tout avec une fonction?
Merci d'avance.

Salutations
PJ

"LE TROLL" wrote:

Bonjour,

Est-ce que ce qui suit marcherait ?

Sub Form_Load()
WindowState = vbMaximized
End Sub

De mémoire il y a des fonctions qui te donnent la taille de la
définition, mais ça n'est pas utilisable ainsi, car il ne suffit pas de
connaître le nombre de pixels, mais encore la taille de l'écran, afin de
calculer la taille du pixel... Une API calcule je crois la taille
physique
en cm par exemple, mais si mes souvenirs sont bons, ça n'avait pas l'air
de
fonctionner...

Sub Form_Load()
Form1.ScaleMode = vbPixels
WindowState = vbMaximized
End Sub

Sub Form_Activate()
MsgBox Screen.Width & " X " & Screen.Height
End Sub

De toute façon, ceci n'est pas toujours une solution, car même si tu a
tous
les paramètres, ce n'est pas certains que tu puisses adapter ta form à
cause
de la lisibilité de ses objets. Mieux vaut des forms les plus petites
possibles avec un resize contrôlé de l'espacement des objets et polices
si
l'utilisateur change de taille...

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://irolog.free.fr
_______________________
.
.


"PJ" a écrit dans le message de
news:
> Bonjour à tous,
>
> Est-il possible que la taille d'un
> userform s'adapte automatiquement à la définition de l'écran ainsi qu'à
> sa
> taille?
> En effet, je suis en plein écran sur le mien et sur l'autre je ne vois
> pas
> tout le userform...Auriez-vous une idée?
>
> Merci d'avance pour vos suggestions.
>
> Cordialement PJ





Avatar
PJ
Bonjour,

C'est parfait...mais un tout petit peu compliqué pour moi.
Pas de problème je vais essayer de combiner toutes les infos et de faire un
test.
Merci encore pour toute votre patience et votre aide.
Bonne fin de journée.
Cordialement
PJ

"Misange" wrote:

Bonjour

Télécharge ce super exemple de Michel Pierron
http://www.excelabo.net/moteurs/compteclic.php?nom=mp-resizeuserform" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.excelabo.net/moteurs/compteclic.php?nom=mp-resizeuserform

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

PJ a écrit :
> Bonjour à tous,
>
> Est-il possible que la taille d'un
> userform s'adapte automatiquement à la définition de l'écran ainsi qu'à sa
> taille?
> En effet, je suis en plein écran sur le mien et sur l'autre je ne vois pas
> tout le userform...Auriez-vous une idée?
>
> Merci d'avance pour vos suggestions.
>
> Cordialement PJ



Avatar
LE TROLL
Tiens, voici un exemple de mon code pour faire bouger des objets :
Tu peux charger gratis la version démo, ça te donnera un aperçu du résultat,
ici :
Juste la form d'ouverture, tu vas voir, le dessin et les lettres changent de
taille, mais bon, si tu fais ça avec des objets c'est plus simple que de
dessiner au pixel...
http://irolog.free.fr/irolog_vente/numero_v/index.htm" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://irolog.free.fr/irolog_vente/numero_v/index.htm

Sub Form_resize() ' dessin d'écran redimensionnable
Dim cx, cy, r, limite, radian, c, l, trait As Double
Dim ct1, lt1, ct2, lt2, ct3, lt3, Ex, ey As Double
Dim ck1, lk1, ck2, lk2, ck3, lk3, ck4, lk4 As Double
Dim cotek, dist, r_abs, sinus, cosinus As Double
Dim rouge, vert, bleu
'
Me.Refresh
Me.Cls
'
DrawWidth = 1 'epaisseur trait
If ScaleHeight > 0 Then: j = 255 / ScaleHeight 'v
rouge = 255
For i = 0 To ScaleHeight 'v
Line (0, i)-(ScaleWidth, i), RGB(rouge, 0, 0)
rouge = rouge - j
If rouge <= 0 Then: Exit For
Next i
'
'cercle
cx = ScaleWidth / 2
cy = ScaleHeight / 2
If cx > cy Then
limite = cy * 0.8
Else
limite = cx * 0.8
End If
r = limite
trait = r / 21
If trait < 1 Then: trait = 1
DrawWidth = trait
Circle (cx, cy), r, RGB(232, 197, 145)
'
' triangle
radian = 90 * 3.14 / 180
sinus = Sin(radian)
cosinus = Cos(radian)
ct1 = r * cosinus + cx
lt1 = cy - r * sinus
radian = 215 * 3.14 / 180
sinus = Sin(radian)
cosinus = Cos(radian)
ct2 = r * cosinus + cx
lt2 = cy - r * sinus
radian = 325 * 3.14 / 180
sinus = Sin(radian)
cosinus = Cos(radian)
ct3 = r * cosinus + cx
lt3 = cy - r * sinus
Line (ct1, lt1)-(ct2, lt2), RGB(224, 175, 103)
Line (ct2, lt2)-(ct3, lt3), RGB(224, 175, 103)
Line (ct3, lt3)-(ct1, lt1), RGB(224, 175, 103)
'
'carre
r_abs = Abs(ct3 - ct2)
dist = Abs(lt2 - lt1)
If (r_abs * dist) <> 0 Then
cotek = r_abs * dist / (r_abs + dist)
End If
ck1 = ct2 + (r_abs - cotek) / 2
ck2 = ct2 + (r_abs + cotek) / 2
ck3 = ct2 + (r_abs + cotek) / 2
ck4 = ct2 + (r_abs - cotek) / 2
lk1 = lt2
lk2 = lt2
lk3 = lt2 - cotek
lk4 = lt2 - cotek
If (r_abs * dist) <> 0 Then
cotek = r_abs * dist / (r_abs + dist)
End If
Line (ck1, lk1)-(ck2, lk2), RGB(206, 140, 43)
Line (ck2, lk2)-(ck3, lk3), RGB(206, 140, 43)
Line (ck3, lk3)-(ck4, lk4), RGB(206, 140, 43)
Line (ck4, lk4)-(ck1, lk1), RGB(206, 140, 43)
'
'lettres
DrawWidth = 1
If r <> 0 Then: FontSize = r / 6 ' taille de font
'
If r <> 0 Then
Ex = r / 21.68 '10
ey = r / 43.36 '5
End If
Circle (cx - (Ex * 6), cy - (ey * 10)), 0, QBColor(9) '1ere verticale
Print "4"
Circle (cx - (Ex * 6), cy + ey), 0, QBColor(9)
Print "3"
Circle (cx - (Ex * 6), cy + (ey * 11.5)), 0, QBColor(9)
Print "8"
Circle (cx - Ex, cy - (ey * 10)), 0, QBColor(9) '2eme verticale
Print "9"
Circle (cx - Ex, cy + ey), 0, QBColor(9)
Print "5"
Circle (cx - Ex, cy + (ey * 11.5)), 0, QBColor(9)
Print "1"
Circle (cx + (Ex * 4), cy - (ey * 10)), 0, QBColor(9) '3eme verticale
Print "2"
Circle (cx + (Ex * 4), cy + ey), 0, QBColor(9)
Print "7"
Circle (cx + (Ex * 4), cy + (ey * 11.5)), 0, QBColor(9)
Print "6"
End Sub

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"PJ" a écrit dans le message de
news:
Bonjour,

C'est parfait...mais un tout petit peu compliqué pour moi.
Pas de problème je vais essayer de combiner toutes les infos et de faire
un
test.
Merci encore pour toute votre patience et votre aide.
Bonne fin de journée.
Cordialement
PJ

"Misange" wrote:

Bonjour

Télécharge ce super exemple de Michel Pierron
http://www.excelabo.net/moteurs/compteclic.php?nom=mp-resizeuserform" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.excelabo.net/moteurs/compteclic.php?nom=mp-resizeuserform

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

PJ a écrit :
> Bonjour à tous,
>
> Est-il possible que la taille d'un
> userform s'adapte automatiquement à la définition de l'écran ainsi qu'à
> sa
> taille?
> En effet, je suis en plein écran sur le mien et sur l'autre je ne vois
> pas
> tout le userform...Auriez-vous une idée?
>
> Merci d'avance pour vos suggestions.
>
> Cordialement PJ





Avatar
Misange
mais la question n'est pas si simple qu'il y parait... Tu as une autre
solution, c'est de faire des userforms qui s'adaptent au plus petit
écran sur lequel ils devront être lus, quitte à faire des userforms à
plusieurs pages.
En tous cas tu as sous les yeux le code d'un maître en matière de
formulaires, déguste :-). Si ça te dit tu trouveras sur excelabo des tas
d'autres astuces du même auteur.

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://xlwiki.free.fr/wiki
http://www.excelabo.net" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.excelabo.net

PJ a écrit :
Bonjour,

C'est parfait...mais un tout petit peu compliqué pour moi.
Pas de problème je vais essayer de combiner toutes les infos et de faire un
test.
Merci encore pour toute votre patience et votre aide.
Bonne fin de journée.
Cordialement
PJ

"Misange" wrote:

Bonjour

Télécharge ce super exemple de Michel Pierron
http://www.excelabo.net" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.excelabo.net/moteurs/compteclic.php?nom=mp-resizeuserform

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://xlwiki.free.fr/wiki
http://www.excelabo.net" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.excelabo.net

PJ a écrit :
Bonjour à tous,

Est-il possible que la taille d'un
userform s'adapte automatiquement à la définition de l'écran ainsi qu'à sa
taille?
En effet, je suis en plein écran sur le mien et sur l'autre je ne vois pas
tout le userform...Auriez-vous une idée?

Merci d'avance pour vos suggestions.

Cordialement PJ






Avatar
michdenis
Stephen Bullen en a créée un qui est pas mal et qui
manque à ta collection :
http://cjoint.com/?bFsST36L7n
;-)



"Misange" a écrit dans le message de groupe de discussion :
eP$
mais la question n'est pas si simple qu'il y parait... Tu as une autre
solution, c'est de faire des userforms qui s'adaptent au plus petit
écran sur lequel ils devront être lus, quitte à faire des userforms à
plusieurs pages.
En tous cas tu as sous les yeux le code d'un maître en matière de
formulaires, déguste :-). Si ça te dit tu trouveras sur excelabo des tas
d'autres astuces du même auteur.

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://xlwiki.free.fr/wiki
http://www.excelabo.net" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.excelabo.net

PJ a écrit :
Bonjour,

C'est parfait...mais un tout petit peu compliqué pour moi.
Pas de problème je vais essayer de combiner toutes les infos et de faire un
test.
Merci encore pour toute votre patience et votre aide.
Bonne fin de journée.
Cordialement
PJ

"Misange" wrote:

Bonjour

Télécharge ce super exemple de Michel Pierron
http://www.excelabo.net" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.excelabo.net/moteurs/compteclic.php?nom=mp-resizeuserform

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://xlwiki.free.fr/wiki
http://www.excelabo.net" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.excelabo.net

PJ a écrit :
Bonjour à tous,

Est-il possible que la taille d'un
userform s'adapte automatiquement à la définition de l'écran ainsi qu'à sa
taille?
En effet, je suis en plein écran sur le mien et sur l'autre je ne vois pas
tout le userform...Auriez-vous une idée?

Merci d'avance pour vos suggestions.

Cordialement PJ






1 2