Bloquer Dimensions Userform

Bonsoir,

Je rencontre un petit problème dans mon éditeur VBA.

J'ai créer 3 USERFORM . Pour mon écran, (portable 15''0), j'ai déterminé les Hauteurs (Height) et Largeurs (Width) des Userform afin que ceux-ci soient plein écran.

Le problème : Chaque fois que je sauvegarde et ré-ouvre le fichier, ces 2 dimensions varient.

Ma demande :

Y a t il une façon de bloquer ces 2 paramètres dans les propriétés du Userform.

Si quelqu'un avait une piste de réponse, ce serait grandement apprécié.

Merci

Guy55

Bonjour,

Je ne sais pas si l'on peut bloquer les dimensions. Mais, on peut les redimensionner dans Sub UserForm_Initialize() ou dans Sub UserForm_Activate()

Ainsi à chaque ouverture des UserForm, leurs dimensions sont ajustées.

ric

Merci Ric ,

Je vais chercher des sujets similaires me permettant de redimensionner .

Comme tu dis, ça doit se faire dans Sub UserForm_Initialize() ou dans Sub UserForm_Activate()

je ne ferme pas le post

Bonjour,

Une solution simple.

1- créer un raccourci permettant d'ouvrir une fenêtre agrandie du classeur contenant ton UserForm

2- utiliser ces instructions

Private Sub UserForm_Initialize()
    Me.Height = Application.Height
    Me.Width = Application.Width
End Sub

Bonjour THEV et merci pour ta réponse

En ayant introduit le code dans Private Sub UserForm_Initialize(), je n'arrive plus a dimensionner mon Userform.

Peut-être que j'ai oublié quelque chose et de voir le code serait plus facile pour Toi

Merci

Voici mon code :

'*** CRÉATION GT ***

Private Sub UserForm_Initialize()

'AFFICHAGE APPLI EXCEL AU MAXI

Me.Height = Application.Height

Me.Width = Application.Width

'Formatage numéro de facture numérique + incrément automatique

Me.TB_NumFacture.Value = Worksheets("Donnees generales").Range("A2").Value + 1 'Numéro de facture

Me.TB_NumFacture.Locked = True

'Stockage des valeurs des ComboBox dans l'onglet Données générales + table des Noms

Me.TB_ReceptionCommande = Format(Date, "dd/mm/yyyy") 'Date de réception commande

Me.CB_GerePar.List() = Worksheets("Donnees generales").Range("Gestionnaire").Value 'Gestionnaire

Me.CB_TypeClient.List() = Worksheets("Donnees generales").Range("TypeClient").Value 'Type Client (C, A, N)

Me.CB_TauxTPS.List() = Worksheets("Donnees generales").Range("TauxTPS").Value 'Taux TPS en %

Me.CB_TauxTVQ.List() = Worksheets("Donnees generales").Range("TauxTVQ").Value 'Taux TVQ en %

Me.CB_TauxHORAIRE.List() = Worksheets("Donnees generales").Range("TauxHORAIRE").Value 'Taux HORAIRE de facturation

End Sub

' Bouton Abandonner la création de la facture

Private Sub AbandonnerGT_Click()

Unload Me

Accueil.Show

End Sub

réponse à venir

Merci , t'es super ...

M'en vais souffler la neige

Bonsoir,

Le souci est qu'il faut tout retailler aux dimensions de l'application Excel. Cette dernière doit être ouverte en fenêtre agrandie pour occuper tout l'écran.

Essayer ce code

[code

]Dim ratio_hauteur As Single, ratio_largeur As Single

Private Sub UserForm_Initialize()

Dim ctrl As Control

ratio_hauteur = Application.Height / Me.Height

ratio_largeur = Application.Width / Me.Width

Me.Height = Me.Height * ratio_hauteur

Me.Width = Me.Width * ratio_largeur

For Each ctrl In Me.Controls

ctrl.Height = ctrl.Height * ratio_hauteur

ctrl.Width = ctrl.Width * ratio_largeur

ctrl.Top = ctrl.Top * ratio_hauteur

ctrl.Left = ctrl.Left * ratio_largeur

ctrl.Font.Size = ctrl.Font.Size * ratio_hauteur

Next ctrl

End Sub

[/code]

Thev,

J'ai incorporé ton code comme tu me le suggères et je réussi a bien dimensionner mes 3 Userform.

Tant que je ne sauvegarde pas le fichier, les paramètres Height et Width ne se modifie pas.

Dès que je save le fichier, même si je ferme pas excel, l'éditeur redimensionne mes 3 userform dans VBA (donc mes ecrans ne sont plus en affichage entier lors de l'appel d'un Userform.)

Je me demande si le problème ne vient pas d'une option dans VBA qui redimensionne le Userform dans l'éditeur automatiquement .

Merci Thev

Bonjour,

Il n'y a aucune raison que le code de thev ( ) ne donne pas satisfaction puisqu'il est exécuté sur Initialize() !

Maintenant, tu peux tester sur Activate() pour voir

Merci Theze et Thev,

Je vais me réesayer dans Initialize ou Activate.

Pour ce faire je vais me bâtir un petit fichier test.

Ce sera plus facile dans nos échanges.

Je vous donne des news,

Merci encore

Bonjour These et Thev et les membres du forum

Je reviens à vous pour vous donner des nouvelles de mon problème de dimensions de mes 3 Userform.

Je travaille avec un portable (résolution 1920x1080) et un écran LG 1920x1080).

Dans les settings du Scale et Layout ,

1) le zoom du PC était recommandé à 125% . (J'y ai pas touché)

2) le zoom du LG était recommandé à 100% . Je l'ai placé a 125%

Depuis, je n'ai plus de problème. Les dimensions des 3 Userform ne varient plus.

J'ai néanmoins garder le code de Thev dans la Private Sub UserForm_Initialize() .

Je ferme donc le post et vous remercie pour cette aide toujours trées appréciée.

A+

Guy55

Rechercher des sujets similaires à "bloquer dimensions userform"