Excel - VBA - Format date incorrect
Résolu
Muetalfange
-
HugoHerbomez Messages postés 57 Date d'inscription Statut Membre Dernière intervention -
HugoHerbomez Messages postés 57 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Le format de ma date change sans raison, alors que le procédé est le même. J'ai fait un test en enlevant la fonction Format et ça fonctionne, mais j'aimerai juste comprendre pourquoi le format n'est pas le bon dans le premier cas.
1 . Avec la fonction Format
Mes résultats sont les suivant : (dans l'ordre)
30/01/2017
31/01/2017
02/01/2017
02/02/2017
02/03/2017
Les mois et les jours sont inversés dans les trois dernières date.
2. Sans la fonction Format
Mes résultats sont les suivant : (dans l'ordre)
30/01/2017
31/01/2017
01/02/2017
02/02/2017
03/02/2017
Pourriez-vous m'éclairer s'il vous plait?
Merci !
Le format de ma date change sans raison, alors que le procédé est le même. J'ai fait un test en enlevant la fonction Format et ça fonctionne, mais j'aimerai juste comprendre pourquoi le format n'est pas le bon dans le premier cas.
1 . Avec la fonction Format
Range("D19").Value = Format(Date - Weekday(Date, vbMonday) + 1, "dd/mm/yyyy") Range("F19").Value = Format(Date + 2 - Weekday(Date, vbMonday), "dd/mm/yyyy") Range("H19").Value = Format(Date + 3 - Weekday(Date, vbMonday), "dd/mm/yyyy") Range("J19").Value = Format(Date + 4 - Weekday(Date, vbMonday), "dd/mm/yyyy") Range("L19").Value = Format(Date + 5 - Weekday(Date, vbMonday), "dd/mm/yyyy")
Mes résultats sont les suivant : (dans l'ordre)
30/01/2017
31/01/2017
02/01/2017
02/02/2017
02/03/2017
Les mois et les jours sont inversés dans les trois dernières date.
2. Sans la fonction Format
Range("D19").Value = Date - Weekday(Date, vbMonday) + 1 Range("F19").Value = Date + 2 - Weekday(Date, vbMonday) Range("H19").Value = Date + 3 - Weekday(Date, vbMonday) Range("J19").Value = Date + 4 - Weekday(Date, vbMonday) Range("L19").Value = Date + 5 - Weekday(Date, vbMonday)
Mes résultats sont les suivant : (dans l'ordre)
30/01/2017
31/01/2017
01/02/2017
02/02/2017
03/02/2017
Pourriez-vous m'éclairer s'il vous plait?
Merci !
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
Si tu veux specifier la valeur et le format, je suggère plutôt:
comme expliqué par thev , la fonction format n'a pas pour but de préciser le format utilisé pour afficher la cellule.
Range("D19").Value = Date - Weekday(Date, vbMonday) + 1 Range("D19").NumberFormat = "dd/mm/yyyy"
comme expliqué par thev , la fonction format n'a pas pour but de préciser le format utilisé pour afficher la cellule.
Merci pour la solution et pour cette précision. Le sujet est donc résolu grâce à vos interventions!