Modifier aspect d'un Userform

Bonsoir a toutes et tous, Forum bonsoir

Je souhaiterai svp par code VBA et par l'intermédiaire de boutons situer sur l'USF diminuer ou augmenter l'apparence d'un Userform

Voir svp le petit fichier ci-joint pour plus d'explications.

Et tout cela bien sur si c'est possible en VBA.

PS: je ne sais pas si en modifiant l'aspect de l'USF le contenu de l'USF sera également modifier aussi.

je reste ouvert a toutes suggestions.

Merci a vous pour votre aide, une bonne soirée a tous.

Cordialement Ray

81userform.xlsm (18.05 Ko)

bonsoir,

par exemple

'*** Bouton pour agrandir USF
Private Sub CommandButton1_Click()
 UserForm1.Height = 400
 UserForm1.Width = 400

End Sub

'*** Bouton pour diminuer USF
Private Sub CommandButton2_Click()
  UserForm1.Height = 274
 UserForm1.Width = 336
End Sub

Bonsoir h2so4,

Merci beaucoup pour ta réponse rapide, bon ca fonctionne bien.

mais comment faire svp pour répèter l'opération pour agrandir ou diminuer encore une fois

voir une autre fois, ceci sans dépasser les limites de mon écran qui est un 22 pouces.

Merci a toi pour ton aide.

Ray

Bonsoir,

pour agrandir et diminuer graduellement.

'*** Bouton pour agrandir USF
Private Sub CommandButton1_Click()

'Met l'UserForm en plein écran
maxwidth = ScreenWidth * PointsPerPixel
maxheight = ScreenHeight * PointsPerPixel
If UserForm1.Height + 20 <= maxheight Then 
  UserForm1.Height = UserForm1.Height + 20 
Else 
  Userform1.height=maxheight
end if
If UserForm1.Width + 40 <= maxwidth Then 
 UserForm1.Width = UserForm1.Width + 40 
else 
 userform1.width=maxwidth
end if

End Sub

'*** Bouton pour diminuer USF
Private Sub CommandButton2_Click()
If UserForm1.Height - 20 > 10 Then UserForm1.Height = UserForm1.Height - 20
If UserForm1.Width - 40 > 10 Then UserForm1.Width = UserForm1.Width - 40
End Sub

copier ce code dans un module

Private Declare Function GetSystemMetrics Lib "user32" _ 
(ByVal nIndex As Long) As Long 
Private Const SM_CXSCREEN = 0 'Screen width 
Private Const SM_CYSCREEN = 1 'Screen height 

Private Declare Function GetDC Lib "user32" _ 
(ByVal hWnd As Long) As Long 
Private Declare Function GetDeviceCaps Lib "gdi32" _ 
(ByVal hDC As Long, ByVal nIndex As Long) As Long 
Private Declare Function ReleaseDC Lib "user32" _ 
(ByVal hWnd As Long, ByVal hDC As Long) As Long 
' 
Private Const LOGPIXELSX = 88 'Pixels/inch in X 
' 
'A point is defined as 1/72 inches 
Private Const POINTS_PER_INCH As Long = 72 

'The width of the screen, in pixels 
Public Function ScreenWidth() As Long 
ScreenWidth = GetSystemMetrics(SM_CXSCREEN) 
End Function 

'The height of the screen, in pixels 
Public Function ScreenHeight() As Long 
ScreenHeight = GetSystemMetrics(SM_CYSCREEN) 
End Function 

'The size of a pixel, in points 
Public Function PointsPerPixel() As Double 
Dim hDC As Long 
Dim lDotsPerInch As Long 
hDC = GetDC(0) 
lDotsPerInch = GetDeviceCaps(hDC, LOGPIXELSX) 
PointsPerPixel = POINTS_PER_INCH / lDotsPerInch 
ReleaseDC 0, hDC 
End Function

Bonjour a toutes et tous, Forum bonjour.

Bonjour h2so4,

J'ai essayer ton code et cela fonctionne super bien, je t'en remercie beaucoup.

Je ne crée pas un autre post sur le sujet suivant étant donner que c'est pour le mème fichier.

Voici ma question si tu veux bien:

Est'il possible svp de copier un code prédéfini a 9 chiffres ou lettres dans le presse papiers de windows 7 a l’ouverture de mon fichier.

But: Lors de ma visite sur mon site bancaire, celui ci m'invite a entrer un code et mon code n'ai pas facile a retenir

d'ou ma demande si cela est possible il ne me resterai plus qu'a faire un coller dans le case correspondante.

Merci pour l'aide que tu m'a apporter, je te souhaite une excellente journée.

Cdlt Ray

Bonjour à tous,

Une autre solution avec un seul bouton (SpinButton) permettant d'agrandir et de réduire par effet de zoom l'ensemble du formulaire....

Et1000lio

@+

149zoom-formulaire.zip (10.98 Ko)
eliot raymond a écrit :

Voici ma question si tu veux bien:

Es-il possible svp de copier un code prédéfini a 9 chiffres ou lettres dans le presse papiers de windows 7 a l’ouverture de mon fichier.

Cdlt Ray

Bonjour,

je te propose de créer une feuille "donnéesprivées" et d'y mettre ton numéro en A1

ensuite copier le code suivant dans le code du classeur (this workbook), Ce code copie le contenu de la cellule A1 de la feuille "donnéesprivées" sur le presse-papier.

Private Sub Workbook_Open()
 Sheet("donnéesprivées").Range("a1").Copy
End Sub

Bonsoir a tous

Bonsoir H2s04

Merci pour ta réponse et le petit code, c'est sympa.

Bon ca ne fonctionne pas et engendre une erreur, voir photo ci-jointe

je n'ai pas trouver pour palier a cette erreur

Merci a toi

Cdlt

Ray

erreur 01

Un S s'est perdu dans la bagarre

Private Sub Workbook_Open()

Sheets("donnéesprivées").Range("a1").Copy

End Sub

Re H2s04

Merci je n'avais pas penser a une erreur de syntaxe, pourtant j'aurai dû la voir, bon, la fatigue aura bon dos

sur ce coup la.

Bon, j'ai fait l'essai et bien excellent ca fonctionne super bien.

Comme quoi ca tient parfois a pas grand chose.

Je te remercie beaucoup pour ton aide et ton savoir.

PS: je ne clos pas encore ce post, je regarde demain de plus près l'Userform et le code de l'ami Et1000lio

Bonne soirée a toi et encore merci

Cordialement Ray

Bonjour a tous, Forum bonjour,

Bonjour H2s04

Bonjour Et1000lio

J'ai essayer les codes pour l'Userform et les deux fonctionnent, j'explique le but de ma demande, d'ailleurs j'aurai dû

commencer par la, je suis désolé.

J'ai fait mon programme de compta sur mon PC avec écran 22 pouces et L'Userform prends pratiquement tout l'écran.

je souhaiterai donc adapter l'userform de mon programme sur mon PC portable 15,6 pouces car bien sur l'USF est trop grande et il

faudrai que le contenu de L'USF se modifie en gardant l'aspect complet des infos de l'USF.

Voila j'espère avoir était assez clair, je vous remercie d'avance pour d'éventuelles solutions, si bien sur solution il y a.

Merci beaucoup et bonne journée a vous.

Cordialement Ray

Bonjour eliot raymond,

Peux-tu me fournir ton fichier ? .... je vais adapter l'effet zoom et je t'expliquerai comment tu peux l'adapter.

Merci

Et1000lio

Salut

je comprends bien pour le fichier mais ca m'ennuie un peu bicause données confidencielles

je regarde cette après midi ce que je peux faire et si pas trop d'effacement a faire.

J'envoi si le fichier si ok

A plus tard et merci bon app

Ray

Salut et1000lio

Merci a toi de te pencher sur mon soucis, c'est sympa.

Bon je t'envoi mon fichier, pas garantie que ca fonctionne chez toi, toutefois, moi ca marche bien sur mon PC fixe et sur mon Portable

hormis le soucis de l'USF trop grand.

J'ai insérer dans l'onglet (Compte) une image du tableau des références VBAProject qu'il faut valider.

Fermer l'USF pour voir l'image LOL

Si ca fonctionne, ce que tu me propose, je veux bien que tu me commente les codes svp car je verrai si je peux recopier tes codes

dans mon fichier original, pas envi de recopier tout ce que j'ai effacer.

Merci a toi je suis le post de près, si besoin, pas de soucis.

Cdlt Ray

Tu aimes le bleu.... j'ai mal au yeux.....

Pour faire rapide, j'ai optimisé la visualisation avec les Scrollbars tout en diminuant le formulaire.... je reviens vers toi demain pour le zoom...

Et1000lio

Ok merci a demain bonne soirée a toi

HA pour le bleu, question d'habitude, je reste pas 8 h devant mes comptes, je n'ai pas un salaire de ministre LOL

Bye Cdlt Ray

Bonjour Ray,

Je galère.... et ne comprends pas pourquoi.

Le format du formulaire pas de souci, le codage du SpinButton est place en haut de code de l'UserForm après Option Explicit, pas de souci non plus.

Mais dès lors que j'écris le code suivant dans Private Sub UserForm_Initialize() pour faire fonctionner le SpinButton à l'ouverture du formulaire....

'--------------Zoom à 100% + valeur Minimale et maximale du Zoom ----------
With Me.SpinButton1
                   .Value = 90 'valeur de base
                   .Min = 50 'Valeur mini du zoom en %
                   .Max = 110 'Valeur maxi du zoom en %

End With
Reglage
'--------------------------------------------------------------------------

dès que je lance le formulaire il ferme automatique le fichier sans enregistrer le document ni même cette partie du programme. Je n'ai jamais eu ce souci jusqu'à présent, donc il y a quelque chose dans la programmation qui m'échappe...où que je n'ai pas vu.

Désolé.... Grrr....

Et1000lio

Bonjour a toutes et tous, forum

Salut et1000lio

Le fichier que je t'ai envoyer, je n'en ai fait qu'une partie le reste a été réaliser par une personne du forum que je remercie a

nouveau au passage et il fonctionne bien chez moi.

Pour le zoom je ne sais pas faire, j'ai chercher sur le net mais je n'ai pas trouver de quoi faire avancer ma demande.

le fichier comporte juste un module de classe.

J'ai regarder a tout hasard le code mais je ne vois pas ce qui pourrai géner, il n'y a rien de spécial dans

 Private Sub UserForm_Initialize() 

je te remercie pour tes recherches, je regarde après déjeuner plus attentivement au cas où.

bonne app a toi et a plus tard

Cdlt Ray

Salut a toutes et tous, forum salut

N'ayant plus de suite sur ce sujet, j'ai longuement chercher une solution mais en vain, je me permets donc de relancer.

Svp, si quelqu'un veut bien reprendre ce post, rien ne presse, je souhaiterai si une solution est possible finaliser

la possibilité de modifier mon Usf pour l'adapter sur mon portable.

Merci a vous par avance, je vous souhaite une bonne fin d'après midi.

Cordialement Ray

Bonsoir

A voir

Le code n'est pas de moi (je l'ai juste adapté à ton cas)

Rechercher des sujets similaires à "modifier aspect userform"