taille automatique d'un userform

taille automatique d'un userform - VB/VBA/VBS - Programmation

Marsh Posté le 15-09-2007 à 18:05:22    

bonjour à tous,
j'aimerais que le userform prenne tout l'écran lors de son ouverture. ( pour cacher le fichier exell )
le problème est que le fichier est partagé et je ne connais pas forcément la résolution de l'écran sur lequel il sera visualisé.
 
j'ai bien entendu essayé en modifiant les paramètres widht et height mais en les forcant à la valeur des paramètres écrans ( ex. 1280x800) mon userform n'est pas totalement visible.
 
y a-t-il une formule pour pouvoir adapter à la taille de l'écran?
ou y a-t-il une fonction du type expand ou auto zoom
tout autre idées est la bien venue.
 
merci d'avance

Reply

Marsh Posté le 15-09-2007 à 18:05:22   

Reply

Marsh Posté le 15-09-2007 à 18:15:33    

si c'est pour cacher le fichier excel, tu peux faire un minimize de la feuille non ?

Reply

Marsh Posté le 16-09-2007 à 00:07:54    

Si tu y tiens vraiment,dans un Module, à adapter.Je pense quand même que jp a raison

Option Explicit
 
Private Declare Function GetSystemMetrics Lib "user32.dll" (ByVal nIndex As Long) As Long
Const SM_CXSCREEN = 0
Const SM_CYSCREEN = 1
 
Function DefinitionX() As Long
    DefinitionX = GetSystemMetrics(SM_CXSCREEN)
End Function
 
Function DefinitionY() As Long
    DefinitionY = GetSystemMetrics(SM_CYSCREEN)
End Function


http://msdn2.microsoft.com/en-us/library/ms724385.aspx


Message édité par kiki29 le 16-09-2007 à 00:12:19
Reply

Marsh Posté le 16-09-2007 à 16:16:05    

Salut, tu fais ça
 
Private Sub UserForm_Initialize()
 
Userform1.Width = Application.Width
Userform1.Height = Application.Height
 
End Sub

Reply

Marsh Posté le 16-09-2007 à 16:24:44    

kiki29 , merci mais je suppose que les valeurs definitionx et definitiony deviennent le height et widht du userform, si c'est le cas cela ne correspond pas à la résolution de l'écran.( c'est ce que je disais dans mon message userform pas totalement visible)
 
Jpcheck , ta solution me parait effectivement interressante mais je ne vois pas la fonction minimize et ou la mettre. Peux-tu m'éclairer.
 
Petite info, ma macro est en autoopen.
 
merci à vous

Reply

Marsh Posté le 16-09-2007 à 16:46:11    

e2prom ,  merci ce code me convient mais est-ce possible d'ouvrir un userform et d'en faire apparaitre un autre par dessus sans fermer le premier.
Avec ton code j'ouvre un userform en plein écran, et par dessus je fait apparaitre mes autre fenêtres sans devoir les redimensionner et repositionner,( multipage, listbox, combobox ...)

Reply

Marsh Posté le 16-09-2007 à 19:00:34    

Tu peux en ouvrir un autre par dessus si tu mets le premier en non modal
 
Userform1.show vbmodeless
 
Par exemple avec un button sur le premier
Userform2.show


Message édité par e2prom le 18-09-2007 à 18:40:26
Reply

Marsh Posté le 18-09-2007 à 08:58:28    

merci pour ta solution e2prom
 
bonne continuation

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed