Macro pour Userform1 et 2
Résolu
Yoyobog
Messages postés
10
Statut
Membre
-
gbinforme Messages postés 14930 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 14930 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
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
2 réponses
-
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
puisCall 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-
-
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.
-
-
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