Format date dans les listes modifiables VBA

Bonjour,

Malgré d'intenses recherches, je n'ai trouvé nulle part de solution à mon problème. Dans un dernier espoir, je me tourne donc vers vous.

J'ai réalisé un formulaire sous VBA pour compléter une base de données Excel. Dans ce formulaire, j'ai ajouté des listes déroulantes modifiables renvoyant à des tableaux de valeurs créés dans mon document Excel. Deux de ces listes déroulantes modifiables concernent la date et l'heure.

Alors que dans le formulaire, elles apparaissent bien sous la forme jj/mm/aaaa, lorsque je sélectionne une valeur, elle sont systématiquement remplacées par un nombre.

Exemple: 28/07/2018 donne 43309

J'ai le même problème avec les heures: 7:00 donne 0,291666666666667

Auriez-vous une solution pour que le format de mes listes déroulantes soit jj/mm/aaaa et hh:mm au lieu de nombres?

Je vous remercie d'avance!

Bonsoir,

Pour info, les 2 nombres correspondent à la gestion des dates et des heures sous Excel :

le 28/07/2018, c'est 43309 jours depuis le 1er janvier 1900,

7 h, c'est 0,291666666666667 fraction de 24 heures .

Vous avez donc un problème de format. Si vous mettez le format correct à ces 2 nombres, vous retrouverez votre date et votre heure.

Bonjour

si tu a une date dans un "TextBox"

quand tu enregistre mettre "Range("A1").Value = Cdate(TexBox1.Value)"

A+

Maurice

Bonjour,

Merci pour votre aide. Seulement, c'est dans la saisie à l'intérieur de mon formulaire que la date est erronée. Quand je sélectionne une date dans mon menu déroulant, celle-ci s'insère dans le champ de mon formulaire sous la forme d'un nombre.

Voici mon code:

Private Sub BoutonAjouter_Click()

Sheets("Incidents").Activate

Worksheets("Incidents").Range("B1").Select

Selection.End(xlDown).Select

Selection.Offset(1, 0).Select

ActiveCell = ListeDates.Value

ActiveCell.Value = CDate(ListeDates.Value)

ActiveCell.Offset(0, 1).Value = ListeHeures

ActiveCell.Offset(0, 2).Value = TexteLieu

ActiveCell.Offset(0, 3).Value = ListeÉquipages

ActiveCell.Offset(0, 4).Value = ListeTypes

ActiveCell.Offset(0, 5).Value = TexteDescription

ActiveCell.Offset(0, 6).Value = ListeMécaniciens

ActiveCell.Offset(0, 7).Value = ListeStatuts

End Sub

Rechercher des sujets similaires à "format date listes modifiables vba"