ajuster un UserForm à l'écran

xstier

XLDnaute Junior
Bonsoir à tous

Je vous expose mon problème

J'ai un UserForm que j'aimerai ajuster à la taille de l'écran et non de l'application

Je suis attentif à l'ensemble de vos solutions

Xavier

:)
 
Dernière édition:

news

XLDnaute Impliqué
Re : ajuster un UserForm à l'écran

Bonsoir,

ta question posé semble être simple, mais ce n'est pas si évident d'établir USF agrandissant ou diminuant,

un USF ne s'agrandit pas du milieu au même pourcentage vers tous les cotés de l'écran,
mais un USF est placé sur un point précis et puis s'agrandit en bas et vers la droite,

ci-joint fichier modifié, reste à être adapté,
 

Pièces jointes

  • zoom_statistic_05.zip
    27.3 KB · Affichages: 185

jeanpierre

Nous a quitté
Repose en paix
Re : ajuster un UserForm à l'écran

Bonsoir xstier, news,

Cette question a déjà été abordée ici est résolue de mémoire, le seul problème retrouver le fil en question....

L'intervenant devait être @+Thierry à l'époque ou _Thierry sous la nouvelle version du forum...

Si je retrouve, je reviens ou si cela aide à trouver....

Bonne nuit.

Jean-Pierre
 

alex67800

XLDnaute Impliqué
Re : ajuster un UserForm à l'écran

Bonjour xstier, jeanpierre, news,

Personnellement j'utilise ceci pour un USF plein écran, à mettre dans le code de l'usf concerné:
Code:
Private Declare Function FindWindowA Lib "user32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLongA Lib "user32" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLongA Lib "user32" _
(ByVal hwnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
puis dans usf-initialize:
Code:
Dim hwnd As Long, exLong As Long, zFactor As Integer

hwnd = FindWindowA(vbNullString, Me.Caption)
exLong = GetWindowLongA(hwnd, -16)
If exLong And &H880000 Then SetWindowLongA hwnd, -16, exLong And &HFF77FFFF
zFactor = 100 * CInt(Application.Width / Me.Width)
If zFactor > 400 Then zFactor = 400
Me.Width = Application.Width
Me.Height = Application.Height
Me.Zoom = zFactor

J"avais trouvé cette astuce dans un forum, car je voulais empêcher de déplacer avec la souris en plein écran.

Ou alors ceci, sur ce forum, mais je ne rappel plus de qui il est (désolé):
Code:
With UserForm1
.startUpPosition = 3
.Width = Application.Width
.Height = Application.Height
.Left = 0
.Top = 0
End With
Puis:
Code:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) 'inactive la croix
If CloseMode = 0 Then Cancel = True
End Sub
Pour empêcher de fermer via la croix! Mais l'on pourra toujours le déplacer pour atteindre l'application.

Espérant avoir bien compris ta demande!
 

pascal21

XLDnaute Barbatruc

Discussions similaires

  • Résolu(e)
Microsoft 365 Taille UserForm
Réponses
3
Affichages
402

Statistiques des forums

Discussions
312 601
Messages
2 090 150
Membres
104 411
dernier inscrit
saidokhan