La sauvegarde du fichier casse le format de la date

julie -  
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai fais une macro qui fonctionnait comme je le voulais mais depuis que j'enregistre le classeur généré le format de la date que je souhaite est cassé.

le but de ma macro est de prendre des données dans un classeur pour les reformater dans un autre que j'enregistre ensuite.

Le format initial de la date est dd//mm/yyyy, je le reformate en yyyy-dd-mm, ça fonctionnait bien mais dès que j'ajoute cette ligne le formatage est cassé. Peut être aurez vous une solution...

Application.DisplayAlerts = False
Wkb_term.SaveAs Filename:= _
    NomFichier + "_terms.csv", FileFormat _
        :=xlCSV, CreateBackup:=False, local:=True
Wkb_term.Close
Application.DisplayAlerts = True


Merci beaucoup
A voir également:

3 réponses

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
bonjour

la date est un nombre et tu as demandé à Excel un format de nombre

il faut transformé ta date en texte
par exemple en VBA
Sub vvv() 
ladate = Range("A1") 
MsgBox Format(ladate, "yyyy-mm-dd") 
End Sub 


Michel
0
julie
 
Merci de ta réponse, je l'ai fais ça, en fait lorsque je vire l'enregistrement de mon fichier, la date apparait au format souhaité.

C'est vraiment le fait d'enregistrer via la macro qui pose problème...

Merci beaucoup
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Bonjour, bonjour Michel
Le double slash empêche la transformation en date, ces cellules sont considérées comme du texte
Tu devrais convertir la colonne en date, soit en manuel, soit avec le code ci-dessous

    Range("C1:C18").TextToColumns Destination:=Range("C1"), DataType:=xlDelimited, _
        FieldInfo:=Array(1, 4), TrailingMinusNumbers:=True

Ensuite le format de date est pris en comte.
A+
0