Passer le nom du controle d'origine

  • Initiateur de la discussion Aour
  • Date de début
A

Aour

Guest
Bonjour le forum,

Désolé pour le titre mais j'ai pas trouvé une phrase courte pouvant expliquer le probleme que voici :

Dans mon userform_principal, j'ai 3 textbox date différents date1, date2, Date3.

J'ai créer un userform_calendar pour pouvoir saisir plus facilement les dates. j'aimerai utiliser ce userform pour les 3 textbox date.

Exemple que j'ai créer pour date1

Appel du calendrier :
Private Sub TxtBox_date1_Enter()
userform_calendar.Show
End Sub

Envoi de la date:
Private Sub Calendar_Click()
userform_principal.TxtBox_date1.Value = Format(Calendar.Value, "DD MMMM YYYY")
Unload Me
End Sub

Mais comment faire pour que cela soit valable pour les 3 dates?
Comment passer le nom du userform et du control en argument de l'appel de userform_calendar (si c'est la bonne piste)?

Merci d'avance

Aour
 
M

Myta

Guest
Salut Aour

Soit UserForm1 ton Control Calendar

Private Sub Calendar1_Click()
UserForm2.ActiveControl = Format(UserForm1.Calendar1.Value, "DD MMMM YYYY")
Unload UserForm1
End Sub

Et UserForm2 tes Textbox's

Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
UserForm1.Show
End Sub

Private Sub TextBox2_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
UserForm1.Show
End Sub

Private Sub TextBox3_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
UserForm1.Show
End Sub

A voir si cela pourrait t'aider

Mytå
 
A

Aour

Guest
Salut Myta et le forum,

Merci pour ce code mais j'ai une erreur 438 ( Cet objet ne gère pas cette propriété ou méthode ) sur la ligne :

UserForm2.ActiveControl = Format(UserForm1.Calendar1.Value, "DD MMMM YYYY")

merci

Aour
 
A

Aour

Guest
Re,

Ton exemple marche
Seul pb, le si je renviens sur le textbox1 pour changer la date ce dernier ou si je lui est pas mis de date en premier, l'activate.control n'est jamais le textbox1 mais le dernier textbox visité 2 ou 3

J'ai un souci chez moi, c'est que j'utlise une boite à onglet et que l'activatecontrol est toujours l'onglet et non la textbox

Merci encore pour la méthode, je note

Aour
 
@

@+Thierry

Guest
Bonsoir Aour, Mytå, le Forum

Une Piste sur une ancienne démo :

=> La Démo Téléchargeable Lien supprimé (12k)

=> Le Fil de Discussion Lien supprimé

Par contre il faudra déclarer en Public dans un Module Standard la Variable ActiveTextBox...


Bonne Soirée
@+Thierry
 
A

Aour

Guest
re-bonsoir à tous,

Merci thierry je vais étudier tout cela

Pour le moment, je transfert le résultat de la selection du calendrier dans un textbox invisible et j'ai le code suivant dans les textbox date :

Private Sub TxtBox_Date1_Enter()
calendrier.Show
TxtBox_date1 = TxtBox_invisible
End Sub

C'est peux etre pas propre mais efficace et simple.
Mais promis je teste la démo.

Encore merci à vous 2

Aour
 
M

Myta

Guest
Re Aour, salut @Thierry et le Forum

Moi je vois pas de probleme meme avec une boite à onglet

Regarde la pièce jointe j'ai pas de probleme avec .ActiveControl

Mytå
 

Pièces jointes

  • TabStrip.zip
    19.2 KB · Affichages: 23
A

Aour

Guest
Re Myta et le forum

Je viens de télécharger ton fichier et effectivement, tout marche nickel.

Je vais voir ce qui cloche chez moi, mais en tout cas merci à toi et à Thierry pour ces solutions ;-)

cordialement,

Aour
 

Discussions similaires

Statistiques des forums

Discussions
312 371
Messages
2 087 704
Membres
103 646
dernier inscrit
ouattara dad