Name TextBox dans un frame

Bonjour

Dans le fichier ci-joint, je n'arrive pas à retourner la date choisie dans le calendrier si le textbox est situé dans un frame.

Le calendrier s'ouvre au double-click dans le TextBox.

Ça fonctionne bien si le TextBox est hors du Frame, mais bug si situé à l'intérieur. Je penche sur ce problème depuis quelques heures sans trouver la solution.

D'avance, merci

35usf-calendrier.xlsm (28.03 Ko)

Bonjour Boby63,

Remplace par cette ligne de code.

Clic = UserForm1.Frame5.TextBox2.Name: Calend1.Show

'Puis dans CommandButton1
If Clic = "Frame5" Then UserForm1.Controls(Clic).TextBox2 = CDate(laDate): Unload Me Else _
UserForm1.Controls(Clic) = CDate(laDate): Unload Me

pour référence à la frame.

Bons tests, bonne continuation.

C'est parfait

Merci beaucoup X Cellus et bonne journée

Bonjour,

Salut X Cellus,

Ta solution initiale ne fonctionnait pas car, à l'initialize de l'userform calendrier, il remet la variable Clic "à jour" :

Clic = UserForm1.ActiveControl.Name

Or, à ce niveau, l'activecontrol est :

> soit le Textbox s'il est "hors frame",

> soit le Frame si le TextBox est dedans.

Mais comme tu l'as modifié...

Je suis ici, donc je propose... :

1- Supprimer la ligne suivante de l'initialize de Calend1 :

Clic = UserForm1.ActiveControl.Name

2- au choix...

2a- Placer la variable Public Clic As String dans le Module1

2b- remplacer, dans chaque événement double_clic des TextBox :

Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
'appel calendrier
TextBox1.SetFocus
Clic = UserForm1.TextBox1.Name: Calend1.Show
End Sub

A remplacer par :

Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
'appel calendrier
TextBox1.SetFocus
'AJOUT de Calend1 :
Calend1.Clic = UserForm1.TextBox1.Name: Calend1.Show
End Sub
Private Sub TextBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
'appel calendrier
TextBox2.SetFocus
'AJOUT de Calend1 :
Calend1.Clic = UserForm1.TextBox2.Name: Calend1.Show
End Sub

Super Franck

C'est plus que parfait et évite la condition sur le click dans le calendrier, ce qui aurait pu être contraignant si le calendrier était appelé de nombreuses fois dans un même formulaire, et ceci via des frames différents.

Merci beaucoup et bonne journée

Rechercher des sujets similaires à "name textbox frame"