Redimensionner un USF suivant la résolution de l'écran

Bonsoir à tous,

Dans mon application, j'ai un USF qui s'affiche en plein écran au démarrage. Le problème c'est qu'au travail je travaille sur un écran 22 pouces avec une certaine résolution mais chez moi sur un portable de 15,6 pouces avec une résolution différente.

Ma question est la suivante : comment faire pour adapter la taille du formulaire (et les contrôles qui s'y trouvent) pour obtenir la totalité du formulaire à l'écran (si besoin je pourrai posté une capture d'écran) ?

Je sais que l'on peut capter la résolution de l'écran via les API Windows mais comment procéder ensuite ?

Merci d'avance pour vos retours d'expérience et bon week-end.

Bonjour Criscris,

Sujet qui avait été traité un moment https://forum.excel-pratique.com/excel/adapter-taille-user-form-a-tt-ordinateur-t16846.html

mais qui devrait t'apporter tout ce qu'il faut!

Bon courage

Bonjour Reuk, le forum,

Merci pour ta réponse. Effectivement, je sais que ce sujet a été traité plusieurs. Comme je l'ai énoncé dans mon post, le souci est les contrôles associés à l'USF ne sont pas redimensionnés (ou adapter avec l'USF) comme stipulé dans le dernier message du fil que tu as mis en lien dans ta réponse.

Affaire à suivre donc...

Merci en attendant et bonne journée à tous.

Bonjour criscris11, Reuk

Pour ma part, plutot que de s'embété à redimensionner les controls, j'utilise les scrolls de l'userform

Si cela peut aider

Private Sub UserForm_Initialize()
Dim TypeScroll as Byte
    Application.WindowState = xlMaximized   'Agrandissement de la fenètre excel en plein écran
    If Application.Width < Me.Width Then    'Test si la fenètre Horizontale < le formulaire
      Me.ScrollWidth = Me.Width            'Taille du scrollbar horizontal
      Me.Width = Application.Width - 5  'Réduction de la taille du formulaire à la taille de l'écran
      TypeScroll = 1                       'Mise en mémoire du type de scrollbar à appliquer (Horizontal=1)
    End If
    If Application.Height < Me.Height Then  'Test si la fenètre Verticale < le formulaire
      Me.ScrollHeight = Me.Height          'Taille du scrollbar horizontal
      Me.Height = Application.Height - 5 'Réduction de la taille du formulaire à la taille de l'écran
      TypeScroll = TypeScroll + 2          'Mise en mémoire du type de scrollbar à appliquer (Vertical=2)
    End If
    Me.ScrollBars = TypeScroll              'Application du type de scrollbar
end sub

Bonjour

A voir

Merci à tous pour vos pistes ou idées. Je vais faire des tests et je verrai ce que je peux en tirer mais je pense qu'il y a un moyen d'arriver un résultat correct.

Je reviendrai vous donner des nouvelles en tout état de cause et au pire pour des corrections éventuelles.

Encore merci et bon week-end.

Bonjour à tous,

Pour l'instant, j'ai fais choux blanc : je n'arrive toujours pas à obtenir l'effet escompté soit il me manque des contrôles soit ils sont tous tronqués.

Cependant, j'ai trouvé un fichier intéressant mais je n'arrive pas à l'adapter pour que l' USF s'ouvre en plein écran ("erreur 11" division par 0).

Merci et bon après-midi ensoleillé (enfin en Bretagne au moins)

502resizeform-demo.zip (13.66 Ko)
Rechercher des sujets similaires à "redimensionner usf suivant resolution ecran"