Microsoft 365 date calendrier, obtenir année - mois et jour

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,
Je vous souhaite un bon dimanche :)

Me revoilà en ce dimanche "pluvieux" en Tunisie.
Je bute sur une ch'tite formule de rien qui fonctionne pourtant habituellement :mad:

La date en "J" est générée par le calendrier et c'est certainement la raison du problème :
Pour info : la colonne O est juste un essai de formule. Elle n'existe pas dans mon fichier de travail.


En colonnes "P - Q - R", Je n'arrive pas à obtenir
Je n'arrive pas à obtenir : l'ANNEE de J - le MOIS de J - le JOUR de J
Auriez-vous la solution ?
Je joins le fichier test.
Avec mes remerciement,
Amicalement,
lionel,
 

Pièces jointes

  • tri_dates.xlsm
    104 KB · Affichages: 24
Dernière édition:
Solution
Bonjour Lionel, ChTi160, le fil,

jean marie a écrit : «
FormatDateUserSurCell est une constante qui a pour valeur False
soit
Private Const FormatDateUserSurCell = False

If FormatDateUserSurCell Then ActiveCell.NumberFormat = FormatDateUser$
»

comme FormatDateUserSurCell est toujours FAUX, le test sera toujours FAUX
➯ ce qui est à droite de Then ne sera JAMAIS exécuté ➯ on mettra JAMAIS
le format de nombre indiqué par FormatDateUser.

AUSSI, on POURRAIT très bien SUPPRIMER cette ligne de code INUTILE !

MAIS vous n'avez pas bien lu ce qui...

ChTi160

XLDnaute Barbatruc
Re
Ok tu est obligé d'avoir ce format de date dans la colonne "J"
car je pense que les données de cette colonne ne sont pas reconnues comme dates ?
Edit : bonjour goube :j'allais parler de mettre au format "jj/mm/yyyy"
jean marie
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour,

Un peu en retard. Voir formules en colonnes O à P.

C'est le calendrier qui est à modifier pour qu'il renvoie une "VRAIE" date et non du texte qui n'est pas interprété comme date => je laisse à d'autres le soin de modifier le code du calendrier.
 

Pièces jointes

  • Usine à gaz- tri_dates- v1.xlsm
    99 KB · Affichages: 8
Dernière édition:

ChTi160

XLDnaute Barbatruc
Re
Bonjour Dudu , mapomme
Ou alors modifier la procédure du calendrier!
VB:
If IsDate(DateSelectUser) Then
      ActiveCell = CDate(DateSelectUser)
      If FormatDateUserSurCell Then ActiveCell.NumberFormat = FormatDateUser$
                    ActiveCell.Offset(0, 6) = Year(DateSelectUser)
                      ActiveCell.Offset(0, 7) = Month(DateSelectUser)
                        ActiveCell.Offset(0, 86) = Day(DateSelectUser)
       End If
jean marie
 

Discussions similaires

Statistiques des forums

Discussions
312 294
Messages
2 086 928
Membres
103 404
dernier inscrit
sultan87