Format de date dans Excel

Résolu
apprenti_excel -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

j'utilise des données d'une base de données américaines pour lesquels les dates sont entrées sous le format: mm/jj/aaaa Le format de la cellule est Standard (il n'est pas en format date). Je voudrais transformé le format pour avoir un format date du type : aaaa-mm-jj. Est-ce que quelqu'un sait comment faire. Je ne suis pas très calé en programmation Excel.

Merci beaucoup pour votre aide

A voir également:

3 réponses

CMP Messages postés 1947 Date d'inscription   Statut Membre Dernière intervention   350
 
Bonjour,
Je ne connais a peu près rien en excel, mais cette hiver, j'ai installé office 2007 pour un client et il m'avais dit que ces dates se sont tous transformés, ( mm/jj/aaaa ou l'inverse ) depuis que je lui avais installé le nouveau, on a donc cherché et je crois que en changeant la region ou le langage , tout est revenu comme avant, pour toutes ces documents excel.
Mais je me souviens pas exactement de la manip.
0
apprenti_excel
 
Bonjour,

Merci pour ta réponse. J'ai essayé de changer la langage et la région cela n'a rien changé. J'ai remarqué que par exemple pour 20 février 2008, il est actuellement écrit 2/20/2008. Le format de cellule est à standard, mais lorsque je le change pour date peu importe le choix que je fais il ne se modifie pas c'est toujours écrit 2/20/2008. Le problème est lié à la façon dont la base de données américaines a entré les dates. Il est possiblement important de mentionner que le fichier original de la base de données est un fichier txt ouvert avec Excel. Je ne sais pas si cela affecte la problématique.
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour,

effectivement, ton pb vient du fait que tu es en texte

petite fonction pour convertir

Function date_fr(texto As String) As Date
separe = Split(texto, "/")
date_fr = DateSerial(CInt(separe(2)), CInt(separe(0)), CInt(separe(1)))
End Function


sur une feuille XL, convertir (20/2/11--> 40594)au format date
mais il ya peut-^tre + simple
0
apprenti_excel
 
Bonjour Michel,

je suis vraiment pas un pro d'Excel. Je me demandais si tu peux élaborer car je me demande comment utiliser la fonction que tu m'as envoyé. Est-ce que je dois passer par Macro ou pas et si oui coment, je n'ai jamais utilisé ce type de fonction.

Merci beaucoup
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bin comme tu étais dans le forum programmation j'ai pensé que...

pas grave!

dis moi dans quelles cellules sont tes dates et ta version d'excel
0
apprenti_excel
 
Bonjour Michel,

je suis dans la section programmation car c'est les habitués de cette section qui connaissent souvent le mieux le type de fonction que vous présentez qui permet de corriger mon problème. Les dates sont dans la colonne M (J'ai plusieurs feuilles n'ayant pas nécessairement toutes le même nombre de ligne). J'utilise la version d'Excel 2007.

Merci
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
dans 2°007, tu autorises les macros (bouton office,options excel- gestiion confidentialité- para metres - activer... non recommande)

tu fait un "copier de la fonction"
tu vas dans l'editeur VBA par Alt+F11
insertion module
tu colles la fonction

tu peux l'utiliser comme fonction personnalisée " de "insérer une fonction" dans une colonne vide et tirer vers le bas puis faire un couper-coller dans la colonne
0
apprenti_excel
 
Merci beaucoup Michel,

En fait j'avais fait les 3 premières étapes c'était comment aller la chercher ou l'utiliser dans Excel que je savais pas. Tu viens de régler mon problème et de me sauver des heures de changement de dates
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bonjour,

Tu peux utiliser cette formule : =DATE(DROITE(A1;4);GAUCHE(A1;2);STXT(A1;4;2)) et mettre en format en format dd/mm/yyyy

Cdlt,
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
????
=DATE(DROITE(A1;4);GAUCHE(A1;2);STXT(A1;4;2))
Cette formule renvoie VALEUR!
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Non ça marche bien si ta date respecte la forme : mm/jj/aaaa (et non m/j/aaaa).
Après, on peut l'adapter avec des CHERCHE().
Et encore mieux : TEXTE(DATE(DROITE(A1;4);GAUCHE(A1;2);STXT(A1;4;2));"jj/mm/aaaa") doit fonctionner très bien.
Enfin, le principal est qu'il ait trouvé une solution.
0