Bonjour,
En prenant pour exemple la date du mardi 24/02/2015 (date_test).
Format(date_test, "ddd dd") permet d'obtenir la date sous la forme mar. 24
UCase(Format(date_test, "ddd dd")), ".", "") permet d'obtenir la date sous la forme MAR. 24
Replace(UCase(Format(date_test, "ddd dd")), ".", "") permet de supprimer le point.
On obtient alors MAR 24
Mais si tu inscrit MAR 24 dans une cellule au format standard, cette valeur est interprétée comme la date du 24 mars 2015.
Pour indiquer à Excel qu'il doit interpréter cette forme comme du texte, tu peux soit ajouter l'apostrophe en début , soit affecter un format texte à la cellule.
Tu peux faire ce test pour visualiser les différents cas :
Sub Test()
Dim date_test As Date
date_test = DateValue("24/02/2015")
'La valeur est interprétée comme la date du 24 mars 2015.
Range("A1") = Replace(UCase(Format(date_test, "ddd dd")), ".", "")
'L'apostrophe permet d'interpréter la valeur comme un texte.
Range("B1") = "'" & Replace(UCase(Format(date_test, "ddd dd")), ".", "")
'On affecte le format texte a la cellule
Range("C1").NumberFormat = "@"
Range("C1") = Replace(UCase(Format(date_test, "ddd dd")), ".", "")
End Sub
A+