Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Insertion une date (JJ/MM/AAAA) et la time (HH:MM) dans une ListBox

MOEZ-TUN

XLDnaute Occasionnel
Je veut insert la date (JJ/MM/AAAA) et la time (HH:MM) dans une ListBox a l'aide d'une calendrier.




Je utilise la fonction suivante , et n'arrive pas a un bonne résultat.

Private Sub TextBox83_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
UFmCalend.Show
Me.TextBox83.Value = LaDate
End Sub
 

Pièces jointes

  • Classeur1.xlsm
    77 KB · Affichages: 5

Modeste geedee

XLDnaute Barbatruc
Bonsour
Textbox attend un texte
Quel est le type de "ladate"
 

Dranreb

XLDnaute Barbatruc
Bonjour.
C'est le format avec lequel est normalement écrite la date dans les contrôles.
Essayez comme ça :
VB:
Option Explicit
Private Sub UserForm_Activate()
   If Me.ActiveControl Is TextBox4 Then TextBox4_Enter ' parce qu'hélas plus invoqué après affichage.
   End Sub
Private Sub TextBox83_Enter()
   UFmCalend.Coupler "Input", TextBox83
   End Sub
Private Sub TextBox4_Enter()
   If Not Me.Visible Then Exit Sub ' parce qu'hélas invoqué avant affichage.
   UFmCalend.Coupler "Output", TextBox4
   End Sub
Remarque : les complications sont dues à ce que la TextBox4 est à la position 1 de tabulation des contrôles.
L'évènement Enter du contrôle est traité avant affichage effectif de l'UserForm, et malheureusement plus après.

Informations: LaDate est le nom d'une variable Private du UFmCalend. Inutilisable à l'extérieur donc. Par contre il est munie d'une propriété Value, d'ailleurs entachée d'une erreur que je n'avais pas vue tellement elle est peu utilisée. Corrigée comme suit à l'avenir :
VB:
Public Property Get Value() As Date
Rem. ——— Propriété en lecture/écriture.
   Value = LaDate + LHeure
   End Property
Public Property Let Value(ByVal RHS As Date)
   LaDate = Int(RHS): LHeure = RHS - LaDate
   MontrerLaDate FocusJour:=True: MontrerLHeure
   End Property
 
Dernière édition:

MOEZ-TUN

XLDnaute Occasionnel
Merci pour votre reponse
Ca marche , trés bien.

Pour info j'ai utilisé seulement cette commande (voir ce dessous), et reste a moi le choix de choisir la type du date soit avec l'heure, soit sans heure:


Private Sub TextBox4_Enter()
If Not Me.Visible Then Exit Sub ' parce qu'hélas invoqué avant affichage.
UFmCalend.Coupler "Output", TextBox4
End Sub

Private Sub TextBox83_Enter()
If Not Me.Visible Then Exit Sub ' parce qu'hélas invoqué avant affichage.
UFmCalend.Coupler "Input", TextBox83
End Sub
 

MOEZ-TUN

XLDnaute Occasionnel
Bonjour
J'ajout une CommandButton12 pour insert la date dans mon feuille Excel, le pb c'est que la format du fate est inversé dans la calandre JJ/MM/AAAA et sur le feuille MM/JJ/AAAA.
 

Pièces jointes

  • Classeur1.xlsm
    84.3 KB · Affichages: 2

Dranreb

XLDnaute Barbatruc
Bonjour.
Toujours utiliser la fonction CDate pour convertir un String valeur de contrôle représentant une date en Date, sinon Excel fait la conversion lui même mais en appliquant une interprétation anglo-saxonne.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…