Taille d'un USERFORM auto

Le
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 userformAuriez-vous une idée?

Merci d'avance pour vos suggestions.

Cordialement PJ
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
laurent.daures
Le #18523071
Bonjour,
Private Sub UserForm_Initialize()
UserForm1.Height = Application.Height
UserForm1.Width = Application.Width
End Sub

Amicalement
Siesting Hoax

"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


LE TROLL
Le #18523691
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" 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


PJ
Le #18523861
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"
> 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





PJ
Le #18523851
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" 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



Misange
Le #18524061
Bonjour

Télécharge ce super exemple de Michel Pierron
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


LE TROLL
Le #18524191
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
_______________________
.
.


"PJ" 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
_______________________
.
.


"PJ" 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





PJ
Le #18524381
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

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



LE TROLL
Le #18524541
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

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" 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

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





Misange
Le #18525081
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
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/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






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



"Misange" 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
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/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






Publicité
Poster une réponse
Anonyme