Question saugrenue !!!!!!!

gds35

XLDnaute Impliqué
mes AMIS du Forum bonjour ,

je cherche a affecter ce code a l'ensemble des USF presents dans mon appli.
Code:
Private Sub UserForm_Activate()
With Me
StartUpPosition = 3
Width = Application.Width
.Height = Application.Height
.Left = 0
.Top = 0
End With
'
LABGESTPER.Caption = vbCrLf & "GESTION DU PERSONNEL"
'
'Déclaration des variables RX et RH
Dim RW As Single, RH As Single

'Calcule le rapport de l'UserForm et la taille de l'écran
RW = ScreenWidth * PointsPerPixel / Me.Width
RH = ScreenHeight * PointsPerPixel / Me.Height

'Met l'UserForm en plein écran
Me.Width = ScreenWidth * PointsPerPixel
Me.Height = ScreenHeight * PointsPerPixel

'Déclaration de la variable Ctl qui correspond aux contrôles de ton UserForm
Dim Ctl As MSForms.Control

'Permet de redimensionner tous tes contrôles présent sur l'UserForm en fonction de la taille de l'userForm et de la taille de l'écran
For Each Ctl In Me.Controls
Ctl.Move Ctl.Left * RW, Ctl.Top * RH, Ctl.Width * RW, Ctl.Height * RH
Next

'supprime la barre de l'usf
SuppressionBarre Me
End Sub

Private Sub UserForm_Initialize()
'place l'usf en haut et à gauche
Me.StartUpPosition = 3
End Sub
(CODE FOURNI PAR NOTRE AMI DENIS)

N'est t'il pas possible de l'adapter et de l'inclure dans workbookopen en indiquant :
For each Userform in workbook do .... puis les codes. ???? de facon a ne pas avoir a le recopier dans chaque USF dans chaque USF.

Merci de votre aide Cordialemnt et Bon Dimanche GDS35
 

job75

XLDnaute Barbatruc
Re : Question saugrenue !!!!!!!

Bonjour gds35,

Rien testé bien sûr, mais vous pouvez essayer un truc comme ça dans ThisWorkbook :

Code:
Private Sub Workbook_Open()
On Error Resume Next 'facultatif mais ça peut servir...
Load UserForm1
Load UserForm2
Load UserForm3
'etc...
Dim i As Byte
For i = 0 To UserForms.Count - 1

With UserForms(i)
StartUpPosition = 3
.Width = Application.Width
.Height = Application.Height
.Left = 0
.Top = 0
'
.LABGESTPER.Caption = vbCrLf & "GESTION DU PERSONNEL"
'
'Déclaration des variables RX et RH
Dim RW As Single, RH As Single

'Calcule le rapport de l'UserForm et la taille de l'écran
RW = ScreenWidth * PointsPerPixel / .Width
RH = ScreenHeight * PointsPerPixel / .Height

'Met l'UserForm en plein écran
.Width = ScreenWidth * PointsPerPixel
.Height = ScreenHeight * PointsPerPixel

'Déclaration de la variable Ctl qui correspond aux contrôles de ton UserForm
Dim Ctl As MSForms.Control

'Permet de redimensionner tous tes contrôles présent sur l'UserForm en fonction de la taille de l'userForm et de la taille de l'écran
For Each Ctl In .Controls
Ctl.Move Ctl.Left * RW, Ctl.Top * RH, Ctl.Width * RW, Ctl.Height * RH
Next
End With

'supprime la barre de l'usf
SuppressionBarre UserForms(i) 'si cette macro existe bien...

Next
End Sub

A+
 

gds35

XLDnaute Impliqué
Re : Question saugrenue !!!!!!!

Salut , Merci de ta reponse ,
je vais utiliser le copier coller , ce qui alourdi le prog mais me permettra de modifier d'autre parametres . Encore Merci
Cordialement bon WE de GDS35
 

Discussions similaires

Statistiques des forums

Discussions
314 628
Messages
2 111 333
Membres
111 104
dernier inscrit
JEMADA