Formule pour detecter et chjanger le format d'une date

barichon

XLDnaute Junior
Bonjour,

Dans une colonne d'un tableau, j'ai des dates de différents formatage.

07/11/12 (jj/mm/aa)
06-29-2012 (mm-jj-aaaa)

Je voudrais faire en sorte que dès qu'ne date de type mm-jj-aaaa est detectée elle soit transformée automatiquement jj/mm/aa.

Pourriez-vous me donner un coup de main.

Merci d'avance,

Cordialement,

Romain.
 

ERIC S

XLDnaute Barbatruc
Re : Formule pour detecter et chjanger le format d'une date

Bonjour

si tu n'as que des dates dans ta colonne, tu la sélectionne en entier et tu mets le même format pour toutes les cellules, ne fonctionnera pas si tu as d'autres types de nombres dans la colonne
 

david84

XLDnaute Barbatruc
Re : Formule pour detecter et chjanger le format d'une date

Bonjour,
une petite fonction personnalisée testée uniquement sur les 2 exemples fournis :
Code:
Function ChangerDate(c As Date) As Date
ChangerDate = Format(c, "dd/mm/yy;@")
End Function
A+
 

barichon

XLDnaute Junior
Re : Formule pour detecter et chjanger le format d'une date

Bonjour,
une petite fonction personnalisée testée uniquement sur les 2 exemples fournis :
Code:
Function ChangerDate(c As Date) As Date
ChangerDate = Format(c, "dd/mm/yy;@")
End Function
A+

Bonjour,

Merci pour ta réponse, mais je n'arrive pas à l'appliquer peux tu me donner un coup de main ?

Ci-joint un classeur de test en exemple.


Merci d'avance,

Cordialement,
 

ERIC S

XLDnaute Barbatruc
Re : Formule pour detecter et chjanger le format d'une date

Re

par macro

Code:
For i = 2 To Range("C" & Rows.Count).End(xlUp).Row
        Cells(i, 3).Value = CDate(Cells(i, 3).Value)
Next
 Columns("C:C").NumberFormat = "dd/mm/yy;@"


rectification : format sorti de la boucle
 
Dernière édition:

ERIC S

XLDnaute Barbatruc
Re : Formule pour detecter et chjanger le format d'une date

Re

par formule en D2 et tu tires

=SI(ESTTEXTE(C2);DATE(DROITE(C2;4);GAUCHE(C2;2);STXT(C2;4;2));C2)

Ce sont des données importées?, dans ce cas il serait préférable d'essayer de les importer dans le bon format.

rectificatif sur macro, sortir le format de la boucle, après le next, il est inutile de formater la colonne à chaque fois
 
Dernière édition:

barichon

XLDnaute Junior
Re : Formule pour detecter et chjanger le format d'une date

Aucunes de ces deux solutions ne fonctionnes:

Le code VBA fait une erreur, la formule me renvoi une erreur de référence circulaire.

Est ce que tu peut me montrer ton exemple sur mon classeur de test ?

Merci d'avance.
 

ERIC S

XLDnaute Barbatruc
Re : Formule pour detecter et chjanger le format d'une date

Re

je m'éytais absenté. Voir le fichier joint avec une feuille "par formule" et une avec bouton et macro
 

Pièces jointes

  • conversion dateES.xlsm
    25.6 KB · Affichages: 98
  • conversion dateES.xlsm
    25.6 KB · Affichages: 105
  • conversion dateES.xlsm
    25.6 KB · Affichages: 105

barichon

XLDnaute Junior
Re : Formule pour detecter et chjanger le format d'une date

Pas de soucis ! Merci pour ton travail !!

Je suis désolé en fait il s’avère que toutes les dates sont en us et non pas us et fr comme je le pensait.
Il faut juste remplacer les dates qui ont un "-" par des "/", c'est tout =(

Tu pourrais me faire les modifications ?
 

ERIC S

XLDnaute Barbatruc
Re : Formule pour detecter et chjanger le format d'une date

Re

si toutes les dates sont us, elles sont théoriquement mois, jour, année

la ligne 2 devrait être le 11 juillet et ton système lit le 7 novembre

il y a donc un pb....

tu reçois le fichier excel ou un fichier data ?
 

barichon

XLDnaute Junior
Re : Formule pour detecter et chjanger le format d'une date

Merci pour ta réponse

Je reçois un csv que je converti et exporte par la suite dans mon rapport "final".
Je te confirme que toute les dates sont en format "US". que j'ai juste besoin de remplacer les - par / .

Je confirme néanmoins le comportement que tu soulignes.
Je t'envoi un lien en MP ou tu trouveras un exemple de csv.


Cordialement,
 

ERIC S

XLDnaute Barbatruc
Re : Formule pour detecter et chjanger le format d'une date

Re

bien reçu

donc je confirme, lorsque tu importes ton csv en manuel, tu mets séparateur virgules et à l'écran suivant à la colonne dates tu imposes date et format mja

toutes tes dates seront récupérées, y compris celles avec tiret

peux-tu vérifier et si c'est bon, c'est à ce stade qu'il faut agir, pas après
 

Discussions similaires

Statistiques des forums

Discussions
312 185
Messages
2 086 011
Membres
103 093
dernier inscrit
Molinari