Macro pour Userform1 et 2

Résolu
Yoyobog Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je dois créer deux Userform nommés Usf1 et Usf2. J aimerais pouvoir me servir de ma macro « PlaceEcran » dans les 2 Userform. Mon problème est quelle methode employer pour remplacer With Usf1 par Usf2 quand j'ouvre l'Usf2
Merci d'avance

Sub PlaceEcran()

With Usf1
.startUpPosition = 3
.Width = 100
.Height = 100
.Left = 0
.Top = 0
End With

End Sub
A voir également:

2 réponses

gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
Bonjour,

Il faut passer les paramètres au lieu de les mettre en dur :

Sub PlaceEcran(Usf)
With Usf
.startUpPosition = 3
.Width = 100
.Height = 100
.Left = 0
.Top = 0
End With

End Sub

puis
Call PlaceEcran(Usf1)
ou
Call PlaceEcran(Usf2)
--
Toujours zen
La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer. Antoine de Saint-Exupéry
0
Yoyobog Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,
Merci beaucoup, ça marche.
Pour mieux comprendre le sens ou est il possible de trouver l'aide
Ex: Pour moi Paramètre et dur = ?

Encore merci et bonne journée
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
Bonjour,

Quand tu écris "With Usf1" tu figes le formulaire utilisé : "c'est en dur", figé

Si tu utilises
"Call PlaceEcran(Usf1)"
et
Sub PlaceEcran(Usf)
With Usf
tu passes le formulaire en paramètre à ta procédure qui est utilisable pour autant de formulaires que tu veux.

ou est il possible de trouver l'aide

Avec F1 tu as l'aide VBA excel qui est bien faite mais mérite un petit apprentissage.
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Bonsoir,

Pourquoi ne pas mettre le code dans les propriétés de chaque userform avec la syntaxe initialize code pour l'userform1

Private Sub UserForm_Initialize()
With UserForm1
.startUpPosition = 3
.Width = 100
.Height = 100
.Left = 0
.Top = 0
End With
End Sub

0
Yoyobog Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,
Merci pour cette réponse, mais le but est d'alléger mes écritures dans la programmation.
Pour info, j'ai eu la solution par gbinforme

Bonne journée
0