Comment modifier une textBox ds un UserForm dont le nom est contenu dans une variable

lolobebop

XLDnaute Nouveau
Bonjour à tous,

Voila mon problème, je souhaite créer un sub générique que je vais utiliser plusieurs fois afin de ne pas réécrire la même procédure à chaque fois.

Ce sub doit me permettre de masquer un contrôle dans un Userform. Seulement je n'utilise pas qu'un seul userform donc je récupère le nom du userform et du controle en variable.

Voici le code que j'ai écrit mais je n'arrive pas à le faire fonctionner. Je ne sais pas comment faire pour qu'il considère le Userform en tant que tel.

Code:
Sub Test
If TextBox4.Value <> "" Then
    HideControl UserForm3.Name, TextBox1.Name
End If

avec 
Sub HideControl(USF, Controle)

VBA.UserForms(USF).Controls(Controle).Enabled = False

End Sub

Merci d'avance pour votre aide
 

PMO2

XLDnaute Accro
Re : Comment modifier une textBox ds un UserForm dont le nom est contenu dans une var

Bonjour,

Essayez la démarche suivante

1) Créez un UserForm1 avec une TextBox1 et un CommandButton1
Copiez le code suivant dans sa fenêtre de code

Code:
Private Sub UserForm_Activate()
Set USF1 = Me
Me.Left = 100
End Sub

2) Créez un UserForm2 avec une TextBox4 et un CommandButton1
Copiez le code suivant dans sa fenêtre de code

Code:
Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim bool As Boolean
If Me.Controls("TextBox4") <> "" Then
  bool = False
Else
  bool = True
End If
Call HideControl(USF1.Controls("TextBox1"), bool)
End Sub

Private Sub UserForm_Activate()
Me.Left = 350
End Sub

3) Dans un module Standard, copiez le code suivant

Code:
Public USF1 As UserForm

Sub UserFormsOpen()
UserForm1.Show vbModeless
UserForm2.Show vbModeless
End Sub

Sub HideControl(Ctrl As MSForms.Control, Masque As Boolean)
Ctrl.Enabled = Masque
End Sub

Lancez l'ouverture des UserForms par la macro UserFormsOpen().
Si la TextBox4 de UserForm2 n'est pas vide alors la TextBox1 de UserForm1 a sa propriété Enabled sur Faux (et réciproquement).
 

Pièces jointes

  • Modifier une propriété d'un UserForm.Control à partir d'un autre UserForm.xlsm
    24.5 KB · Affichages: 59

Discussions similaires

Statistiques des forums

Discussions
312 192
Messages
2 086 054
Membres
103 110
dernier inscrit
Privé