Excel - VBA - Format date incorrect

Résolu
Muetalfange -  
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

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:
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.
1
HugoHerbomez Messages postés 57 Date d'inscription   Statut Membre Dernière intervention   2
 
Bonjour Yg,

Merci pour la solution et pour cette précision. Le sujet est donc résolu grâce à vos interventions!
1