Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Conserver le format des date avec ActiveWorkbook.SaveAs

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

leyeti77

XLDnaute Nouveau
Bjr,

Je galère pour sauvegarder un workbook, tout en conservant les dates au bon format dans le cellules.

Dans les cellules j'ai la date sous le format Date jj/mm/yyyy
Je sauvegarde le fichier au format .txt.

Quand je le fait manuellement, tout va bien, même si je dois 3 répondre 3 fois YES.
J'ai enregistré ma séquence en VBA, et quand j'utilise la macro résultante là les date changent de format, et passe en mm/dd/yyyy 🙁

Dans le régional setting de Windows je suis bien en dd/mm/yyyy.
Je ne sais plus quoi faire

============================
Columns("V:W").Select
Selection.NumberFormat = "m/d/yyyy"

Dim strFile As String
strFile = "C:\$user\Backfill\Bench\2.0_ROAT_Input\" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1) & _
Format(Date, "yyyymmdd") & ".txt"
ActiveWorkbook.SaveAs Filename:=strFile, FileFormat:=xlText

ActiveWindow.Close , SaveChanges:=True
 
Re : Conserver le format des date avec ActiveWorkbook.SaveAs

Bonsoir leyeti77,

Le phénomène que vous décrivez avec les dates est classique en VBA.

Une solution est de reproduire exactement ce qui est fait manuellement, donc remplacer :

ActiveWindow.Close , SaveChanges:=True

par :

SendKeys "^{F4}~~~"

A+
 
Dernière édition:
Re : Conserver le format des date avec ActiveWorkbook.SaveAs

Re,

Une autre solution, nettement meilleure, c'est de conserver la fin de la macro avec .Close, mais de transformer les dates en texte en modifiant le début ainsi :

Code:
Dim plage As Range
Application.DisplayAlerts = False
Set plage = Intersect(ActiveSheet.UsedRange, Range("V:W"))
plage.NumberFormat = "m/d/yyyy"
[COLOR="Red"]plage = plage.Text[/COLOR]

Edit : j'ai ajouté Application.DisplayAlerts = False, nécessaire il me semble...

A+
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…