bonjour,
j'ai un userform avec des controles DTPicker.
Comment à l'ouverture de l'userform, les adtes soient vides ?
merci à tous
Version imprimable
bonjour,
j'ai un userform avec des controles DTPicker.
Comment à l'ouverture de l'userform, les adtes soient vides ?
merci à tous
Bonjour,
Un contrôle DTPICKER n'est pas fait pour être utilisé comme un "champ" de date, mais pour permettre de choisir une date à affecter à un "champ" (en général, une textbox).
Ôn n'utilise qu'un seul contrôle DTPICKER pour renseigner (par choix dans le DtPicker) plusieurs autres contrôles ...
Ok
donc vaudrait mieux, si l'on a plusieurs date à saisir dans un usf, utiliser calendar ?
merci
Calendar ou DtPicker = même principe !
Ils ne sont ni l'un ni l'autre faits pour autre chose que faciliter à l'utilisateur le choix d'une date, sans erreur de saisie ....
Rien de plus !
C'est à partir de ce choix (celui fait dans le Calendar ou le DtPicker) que l'on attribue une valeur (celle de la date choisie) à un autre contrôle (en général une textbox, mais pouvant être autre...)
Donc ===>> un seul Contrôle de cette espère (DtPicker ou Calendar) et pas plusieurs !;)
Pour être plus clair : si tu as plusieurs opérations à faire, tu ne te sers pas d'autant de calculettes que d'opérations, mais d'une seule calculette pour tous tes calculs ... Le principe est le même.
Ok merci pour le tuyau
Pas de quoi me remercier pour l'instant.
Il te faut maintenant passer aux choses plus sérieuses, à savoir comment utiliser un seul contrôle pour plusieurs textboxes.
Je t'ai fait un petit exemple de ce genre de mécanisme.
C'est délibérément que j'ai choisi encore un autre contrôle (ici un contrôle MonthVew). Il va te falloir, selon que tu choisis un Calendar ou un DTPicker, en examiner les propriétés (différentes) et adapter.
Voilà donc un exemple de mécanisme avec :
- Un contrôle MonthView nommé MonthView1
- 3 textboxes nommées Texbox1, TextBox2 et TextBox3
Regarde ce qui se passe avec chacune de ces 3 textboxes, qui utilisent toutes 3 le même MontView1.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 Private encours As MSForms.TextBox Private Sub UserForm_Initialize() MonthView1.Visible = False End Sub Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) econome End Sub Private Sub TextBox2_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) econome End Sub Private Sub TextBox3_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) econome End Sub Private Sub econome() Set encours = ActiveControl MonthView1.Visible = True Me.Repaint End Sub Private Sub MonthView1_DateClick(ByVal DateClicked As Date) encours.Text = MonthView1.Value MonthView1.Visible = False End Sub
C'est Econome qui se charge du reste.
A toi de jouer, maintenant.