Excel - VBA - Format date incorrect
Résolu
Muetalfange
-
HugoHerbomez Messages postés 59 Statut Membre -
HugoHerbomez Messages postés 59 Statut Membre -
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
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
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!