Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Userform en Plein Ecran

Y

Yochma

Guest
Bonjour à tous!!!

Je sais faire un Userform classique mais je ne sais pas comment faire ouvir automatiquement ce Userform en plein ecran de manière a ce que l'utilisateur ne se sente pas en présence d'un environnement Excel en tant qu'application hôte.

Le problème c'est les diverse taille d'écran 15" 17" 21" etc.... ainsi que les différente définitions 800*600; 1024*768 etc......

Si quelqu'un à la solution qu'il me fasse signe merci beaucoup

Yochma
 
J

Jaubi

Guest
Salut yochma, salut le Forum,

Effectivement, ton problème est un problème. La semaine dernière d'ailleurs nous en avons parlé sur le Forum. Dans le "MonExcelDownload" de Thierry Pourtier (disponible dans les XLD Goodies du site), tu trouveras un début de réponse à tes interrogations.

Il reste cependant un problème de qualité de résolution que je n'ai pas résolu et pour lequel j'ai posé une question sur le Forum, sans réponse pour le moment.

Bye, tiens-moi au courant si tu t'en sors.

Jaubi.
 
@

@+Thierry

Guest
Salut Jaubi, Yochma, le Forum

J'avais entrevu le fil Lien supprimé

Tout d'abord pour éviter des ambiguités, je ne suis pas Thierry Pourtier, qui lui est Ti, moi je suis Thierry Eygenraam, qui donc signe @+Thierry et qui est donc l'auteur de MonExcelDownloads.

Pour ce qui est de ton problème de qualité de résolution, il vient du fait que tu dois développer sur un grand écran / grande résolution et que tu dois déployer ton appli sur des écrans plus petits en 800 x 600 ...

En fait il n'y a pas d'astuce, à ma connaissance, pour éviter ce problème... J'en suis résolu à développer le design de mes UserForm depuis un 19TFT en 800 X 600 (le comble !!) afin d'éviter des surprises si je travaille en 1280 x 1024 ou encore plus haut... et que je déploie vers des 15 en 800 x 600

Le résultat est plus satisfaisant lorsque l'on "ZoomZoom" un UserForm vers une taille supérieure que l'inverse.

Voilà si celà peut t'aider, et bien entendu à moins que quelqu'un ne connaisse une autre astuce.

Bonne soirée
@+Thierry
 
V

vincent

Guest
Bonsoir le fil

je ne sais ps si cela peux fonctionner mais si les gens veulent tester

Application.ScreenUpdating = False
Application.DisplayFullScreen = True
UserForm1.Width = Application.Width
UserForm1.Height = Application.Height
Application.DisplayFullScreen = False
Application.screenupdating=True
UserForm1.Show

@+Vincent

Ps tester sous 97 et windows xp sous plusieurs resolutions ça fonctionne
 
@

@+Thierry

Guest
Bonsoir Vincent, re le Fil, le Forum

Oui Vincent c'est aussi ce qui est appliqué dans MonExcelDownloads, mais que fais-tu des Controls ? car là tu mets ton UserForm en largeur/hauteur de l'application, mais tes Controls (TextBox, ListBox, et autres Combobox..) restent à leur taille d'origine... Ce qui risque de faire un UserForm assez "baroque" lol

de plus je mettrai :
Application.WindowState = xlMaximized
ActiveWindow.WindowState = xlMaximized
plutot que le Application.DisplayFullScreen = True...qui ne sert à rien dans ce cas.

Mais je pense que le problème n'est pas là pour Jaubi...

Enfin on verra si celà peut convenir
Bon appétit
@+Thierry
 
V

vincent

Guest
Salut Thierry,re le fil

effectivement je n'ai pas cherché plus.Je vais regarder le prog et je reviens j'ai une petite idée mais maintenant je vais vérifier avant ;-) .

A plus

@+Vincent
 
V

vincent

Guest
Re le fil

j'ai trouvé le prog mais je n'arrive pas à voir le code (erreur 1004 La methode Goto....).Mais je pense que ce doit être la même technique: utilisé le rapport hauteur userform hauteur application et ensuite appliquer un zoom.

@+Vincent
 
@

@+Thierry

Guest
Re Vincent, le Fil, le Forum

Oui c'est bien çà, le Zoom. Le fait que tu ne puisses pas accéder au code et le fait que j'avais utiliser un SelfCert qui n'est pas compatible avec XL97.

Mais voici le code :

Option Explicit
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
'Constantes utilisées par GetSystemMetrics
Const SM_CXSCREEN = 0 ' Largeur de l'écran
Const SM_CYSCREEN = 1 ' Hauteur de l'écran

Sub Taille()
Dim XVal As Long, YVal As Long
Dim Resolution As String
Dim ZoomZoom As Integer
YVal = GetSystemMetrics(SM_CYSCREEN)
XVal = GetSystemMetrics(SM_CXSCREEN)
Resolution = XVal & " x " & YVal
On Error GoTo Message

If Resolution = "1600 x 1200" Then ZoomZoom = 160 ' Testé sur Catho 19" ok
If Resolution = "1280 x 1024" Then ZoomZoom = 130 'Testé sur Catho 19" ok
If Resolution = "1280 x 960" Then ZoomZoom = 130 ' 'Testé sur Catho 17" ok
If Resolution = "1280 x 720" Then ZoomZoom = 130 'non testé....???
If Resolution = "1152 x 864" Then ZoomZoom = 115 'Testé sur Catho 17" ok
If Resolution = "1024 x 768" Then ZoomZoom = 105 'Testé sur Catho 17" ok
If Resolution = "800 x 600" Then ZoomZoom = 80 'Testé sur un Catho 15" ok
If Resolution = "640 x 480" Then ZoomZoom = 65 'Testé sur un Catho 15" ok
With UserForm1
.Zoom = ZoomZoom
End With
UserForm1.Show
Exit Sub
Message:
MsgBox "Votre écran a une résolution non prévue de " & XVal & " par " & YVal & _
Chr(10) & "Modifier la macro en fonction...Thierry", vbInformation, "Macro 'Taille' à modifier !"
End Sub

Private Sub UserForm_Initialize()
Me.Width = Application.Width - 6
Me.Height = Application.Height – 8
End Sub

Bonne Soirée
@+Thierry
 
J

Jaubi

Guest
Bonsoir @+Vincent, bonsoir @+Thierry, re le Forum,

Désolé @+Thierry pour la confusion avec Ti.

Merci à tous les deux pour vos réponses. En bref ! La seule solution est donc de développer mon appli en 800*600 ? Les développeurs de windows n'auraient donc jamais rencontré et traité ce problème ? Il doit bien y avoir une solution dans les tréfonds du code pour dimensionner automatiquement l'USF ????

A+, lol, et mille @@merci@@ Jaubi.

PS : cela serait hyper sympa si vous pouviez jeter un coup d'oeil au fil dont j'ai mis le lien ci-dessous (comment faites-vous pour mettre des liens en hypertext ?)
en effet, j'ai l'impression que la réponse de sylsyl et le fil associé ne répondent pas exactement à ma question :
"comment faire pour entrainer une instruction (msgbox, exit sub...) si aucun des optionbuttons d'un frame n'a été sélectionné par l'utilisateur de l'appli ?

http://www.excel-downloads.com/html/French/forum/read.php?f=1&i=50377&t=50377
 
@

@+Thierry

Guest
Re Bonsoir Jaubi, le Fil, le Forum

Pour les liens HyperText et autres Fonctionnalités du Forum regarde la FAQ XLD

Sinon pour tes Options Buttons ta réponse est toute chaude dans Lien supprimé

Bonne nuit
@+Thierry
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…