Excel - VBA - Format date incorrect

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

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:
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 59 Statut Membre 2
 
Bonjour Yg,

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