Format de date dans Excel

Résolu
apprenti_excel -  
fiddy Messages postés 441 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

3 réponses

  1. CMP Messages postés 2026 Statut Membre 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
    1. 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
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    1. 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
    2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      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
    3. 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
    4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      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
    5. 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
  3. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      ????
      =DATE(DROITE(A1;4);GAUCHE(A1;2);STXT(A1;4;2))
      Cette formule renvoie VALEUR!
      0
    2. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      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