VBA _ Format Date - Excel en franglais

Fermé
mirmae Messages postés 8 Date d'inscription lundi 18 juillet 2011 Statut Membre Dernière intervention 1 octobre 2014 - Modifié par mirmae le 19/11/2013 à 22:14
conrade82 Messages postés 96 Date d'inscription dimanche 21 avril 2013 Statut Membre Dernière intervention 9 septembre 2016 - 27 août 2015 à 14:27
Bonjour à tous!

J'ai un petit problème étrange au niveau des dates de mon programme vba.

Je récupère une date dans une cellule comportant plusieurs informations et je la copie dans un autre fichier.

Pour certaines dates il y a un mélange entre les jours et les mois lorsqu'il est possible de les inverser.
Par exemple le 21/10/2013 reste la même par contre le 04/11/2013 devient 11/04/2013

Voici le code que j'utilise:

nDateFin = Format(Left(Cells(i, 2).Value, 19), "mm/dd/yyyy hh:mm")

Quelqu'un aurait il une petite idée?

petite précision: les dates que je récupère sont aux format mm/dd/yyyy hh:mm

Merci d'avance pour votre aide.

A voir également:

1 réponse

lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
20 nov. 2013 à 13:38
Bonjour,
Oui, Excel à quelque petits caprices, il faut d'abord "casser" le format existant...
Dim dDtate as Double 'OBLIGATOIRE 
Dim nDateFin as Date
dDtate = Left(Cells(i, 2).Value, 19)
nDateFin = Format(dDate, "mm/dd/yyyy hh:mm")
A+
0
conrade82 Messages postés 96 Date d'inscription dimanche 21 avril 2013 Statut Membre Dernière intervention 9 septembre 2016 4
Modifié par conrade82 le 27/08/2015 à 14:27
Bonjour,
ta solution est parfaite. Seulement (et j'espère ne pas avoir besoin d'ouvrir un autre sujet), quand je veux avoir le code suivant, la date repasse en version anglaise...

Dim dDtate As Double, eDtate As Double 'OBLIGATOIRE
Dim nDateFin As Date, eDateFin As Date

dDtate = .Range("B2").Value
eDtate = .Range("D2").Value
nDateFin = Format(dDtate, "dd/mm/yyyy")
eDateFin = Format(eDtate, "hh:mm")
.Range("H1") = Format(dDtate, "dd/mm/yyyy") & " " & Format(eDtate, "hh:mm")

est-ce normal?
Merci d'avance.
0