Appel d'une procédure dans un formulaire

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Elodie87

XLDnaute Nouveau
Bonjour,

J'ai un fichier avec un certains nombres de UserForm presque identiques. Dans chaque Formulaire je voudrais faire appel à une procédure toute simple qui consite à positionner un Frame dans le formulaire.

J'ai copié la procédure suivante dans un module :

Public Sub PositionFrame()
FrameOption.Height = 90
FrameOption.Left = 30
FrameOption.Top = 135
FrameOption.Width = 102
End Sub

Le problème c'est que lorsque je lance ma macro, il me dit : "objet requis". En effet il faut lui indiquer à quel UserForm le FrameOption appartient. Donc en mettant : UserForm1.FrameOption.Height = 90 ca marche.

Mais je voudrais que cette procédure fonctionne pour tous mes userforms, sinon je suis obligée de créer une procédure par formulaire soit environ 30 procédures ce qui ne serait pas très pratique.

Petite précision : sur tous mes formulaires mon frame porte le même nom : FrameOption.

Avez vous une solution ?

Merci d'avance
 
Re : Appel d'une procédure dans un formulaire

Bonjour Elodie,

une solution avec une variable "Public", dans le module standard où se trouve ta procédure :

Code:
Option Explicit
Public monusf As UserForm
Sub positionframe()
monusf.FrameOption.Height = 90
End Sub

dans le module de ton usf, lorsque tu déclenche la procédure :

Code:
Option Explicit
Private Sub CommandButton1_Click()
Set monusf = Me
positionframe
End Sub

bon après midi
@+
 
Re : Appel d'une procédure dans un formulaire

Ha oui ca fonctionne très bien ! Merci beaucoup pour ton aide !


Bonjour Elodie,

une solution avec une variable "Public", dans le module standard où se trouve ta procédure :

Code:
Option Explicit
Public monusf As UserForm
Sub positionframe()
monusf.FrameOption.Height = 90
End Sub

dans le module de ton usf, lorsque tu déclenche la procédure :

Code:
Option Explicit
Private Sub CommandButton1_Click()
Set monusf = Me
positionframe
End Sub

bon après midi
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

P
Réponses
2
Affichages
39 K
P
Retour