Contrôle des propriétés d'un USF par une procédure paramétrée hors USF

Bonjour à vous,

J'ai plusieurs userforms avec la même procédure, j'ai donc voulu simplifier l'écriture en utilisant une procédure paramétrée. Pour être appelée par tous les usf, cette procédure est placée dans un module indépendant et appelée avec la commande "call". Cette procédure, entre autre, agit sur l'apparence de l'usf qui l'appelle. Mon problème est que cela fonctionne sur certains paramètre (affichage et visibilité des scrollbars, zoom), mais pas sur d'autres (hauteur et largeur de l'usf). Pouvez-vous m'expliquer pourquoi?

Merci

Bonjour,

La raison semble évidente : Ce paramétrage laisse à désirer !

A+

Bonjour le fil, bonjour le forum,

Je n'irai pas à l'encontre de Galopin mais tu aurais pu au moins fournir ton code à défaut du fichier. Ça nous aurait permis d'y voir plus clair...

En effet, j'aurai bien mis le code, mais je n'y ai pas accès pendant quelques jours. Dès que c'est possible, je le met.

Mais je comprend pas ce que vous voulez dire par "ce paramétrage laisse à désirer"... Pouvez-vous être un peu plus clair?

Ben... On ne peut pas être plus clair : Hauteur et Largeur de l'UserForm sont bien modifiable donc ça ne peut être qu'un pb de prog.

J'ajoute qu'à la différence de ThauThème je ne me contenterai pas du code. Il faut que je puisse le tester en pas à pas...

A+

Bonjour,

Après avoir réessayé au boulot bizarrement ça fonctionne mieux... Bon... Comme on dit, en général, la source de l'erreur se situe entre la chaise et le clavier.

Cependant je bloque quand même sur une chose. J'arrive à contrôler l'userform depuis un autre module en entrant directement son nom avec la propriété que je veux modifier, mais je n'arrive pas à le faire avec une variable qui prendrait le nom de l'userform qui est déjà ouvert (donc pas un nom fixe).

Ce coup ci, voici le code sur lequel j'essai. Un userform nommé "Usf_Test", un bounton nommé "Btn_Test".

Private Sub Btn_Test_Click()

Dim Usf As String

Usf = Me.Name

Call Move_USF(Usf)

End Sub

Sub Move_USF(Usf As String)

Dim MonUsf As Object

Set MonUsf = UserForms(Usf) '?????????? Je sais que ce n'est pas comme ça mais je ne trouve pas

With MonUsf

.Width = .Width - 12

.Height = .Height - 10

.Zoom = 80

End With

End Sub

Merci de votre aide

Suite à un peu d'aide extérieur, en modifiant le type du paramètre usf en objet et en déclarant dans l'userform une variable usf as object, set usf = Me ça fonctionne. SI ça peut servir à quelqu'un...

[code]Sub Btn_Test_Click()

Dim Usf As Object

Set Usf = Me

Call Move_USF(Usf)

End Sub

Sub Move_USF(Usf As String)

With MonUsf

.Width = .Width - 12

.Height = .Height - 10

.Zoom = 80

End With

End Sub[code]

Rechercher des sujets similaires à "controle proprietes usf procedure parametree hors"