utiliser un calendrier pour plusieurs userforms

mikeo

XLDnaute Occasionnel
Bonjour Cher forum,

Voilà, j'ai un calendrier qui alimente un textbox dans un userform.

Mais je voudrais utiliser le même calendrier à partir d'autres userforms pour ne pas créer un calendrier pour chaque textbox.

Est-ce que le code du calendrier ci-après peut reconnaitre l'userform qui l'a appelé (du genre active.sheets par exemple) sans préciser le nom de l'userform ?

Code:
Private Sub Calendar1_Click()
[COLOR="red"]UserForm1.TextBox1[/COLOR] = Calendar1.Value 
Unload Me
End Sub

Private Sub UserForm_activate()
Calendar1 = [COLOR="red"]UserForm1.TextBox1 [/COLOR]
End Sub

C'est la syntaxe qui me manque.

Merci à vous.
 

Pièces jointes

  • calendrier commun.xls
    46 KB · Affichages: 81
C

Compte Supprimé 979

Guest
Re : utiliser un calendrier pour plusieurs userforms

Salut Mikeo,

C'est le principe même de la programmation objet

Dans un module tu définis un objet public
Code:
Public ObjDate As Object

Dans Tes USF, avant d'appeler le calendrier, tu définis l'objet conteneur devant recevoir la valeur
Code:
Private Sub Textbox1_enter()
  Me.TextBox1.BackColor = RGB(214, 154, 243)
  Set ObjDate = Me.TextBox1
  Calendrier.Show
  Me.TextBox1.BackColor = RGB(154, 218, 30)
 End Sub

Dans ton USF calendrier, tu renvoies la valeur vers cet objet
Code:
Private Sub Calendar1_Click()
  ObjDate = Me.Calendar1.Value ' Donne la valeur à l'objet définit
  Unload Me
End Sub

Après on peut utiliser un module de classe, mais c'est plus compliqué pour moi

A+
 
G

Guest

Guest
Re : utiliser un calendrier pour plusieurs userforms

Bonjour,

A peu près la même chose que Bruno, avec l'objet définit dans le UserForm.

L'objet est testée, pour éventuellement accomplir des actions différentes suivant sa nature,
(objet TextBox, Range)

A+
 

mikeo

XLDnaute Occasionnel
Re : utiliser un calendrier pour plusieurs userforms

Bonjour Bruno et Hasco, le Forum

Merci à vous deux, pour moi c'est très fort. Je ne connaissais pas cette façon de faire qui est bien pratique. Si vous connaissez un lien ou un tutorial qui explique cela, je suis preneur.

Autre question dans ce fichier. Le calendrier vient de ce forum et je le trouve très bien car il ne fait pas appel à Dtpicker (merci à celui qui l'a conçu). Seulement, j'ai nommé l'USF "calendrier" alors que dans le code, pour l'ouvrir, il s'appelle "calendar1". Je ne trouve nulle part dans les propriétés ce nom.

De même, je ne trouve nulle part le code qui gère les texbox (il est caché ?) car je voudrais modifier légèrement la présentation. Vous pouvez m'éclairer sur ces questions ?

Bon dimanche à tous.

Mikeo
 
G

Guest

Guest
Re : utiliser un calendrier pour plusieurs userforms

Bonjour,

Il s'agit d'un contrôle calendrier (contrôle activeX) de miscrosoft.

Clique sur la bordure du calendrier (pas le userForm) et tu verras ces propriétés s'afficher dans la fenêtre des propriétés (F4 si cette fenêtre n'est pas visible)

Tu pourras changer pas mal de choses mais pas à tout.

A+
 
Dernière modification par un modérateur:

néné06

XLDnaute Accro
Re : utiliser un calendrier pour plusieurs userforms

Bonjour Mikeo,Hasco,Bruno et à tous

Un petit exemple que j'utilise avec comme base le "Calendrier Autonome" légèrement adapté à mes besoins.

Regardes si tu peux en tirer des infos utiles.

A+
 

mikeo

XLDnaute Occasionnel
Re : utiliser un calendrier pour plusieurs userforms

Bonjour à tous,

Merci Hasco, je découvre excel un peu plus.
Néné06 : Merci, je garde ton calendrier sous le coude car il me sera utile.

Et longue vie au forum.

Mikeo
 

Discussions similaires

Statistiques des forums

Discussions
312 331
Messages
2 087 354
Membres
103 528
dernier inscrit
hplus