Changer un format texte en date et heure

Nick2809 Messages postés 6 Statut Membre -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour, j'essaie de changer un format texte en date et heure. Il de lit comme suit 3/31/2014 8:25 PM..... J'aimerais avoir 2015-03-32 20:25. Merci de votre aide !!!

6 réponses

  1. madmyke Messages postés 52304 Date d'inscription   Statut Modérateur Dernière intervention   12 487
     
    Bonjour

    Formant de cellule => date et heure => choisir le format dans la liste.

    Bav
    0
    1. Nick2809 Messages postés 6 Statut Membre
       
      Non ça ne fonctionne pas, car ça vient d'une extraction et le format est en texte
      0
  2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Bonsoir,

    Tu peux donner exactement un exemple de données complète et non abrégé comme tu as donnée "3/31/2014 8:25 PM....."
    ensuite tu n'auras jamais "2015-03-32 20:25" parce qu'il n'y a aucun mois de 32 jours et encore moins 32 mois, je pense à une erreur de saisie.

    le mieux serait d'avoir un bout de ton fichier avec ces saisies que tu peux joindre à partir de ce lien
    https://www.cjoint.com/
    0
  3. Nick2809 Messages postés 6 Statut Membre
     
    Je voulais dire 31
    0
  4. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    J'avais compris, mais peut on avoir un bout de ton fichier avec quelques exemples de date s'il te plait
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Faisable par formule mais beaucoup plus simple avec une fonction personnalisée à mettre dans un module Standard :
    Function dateFr(dateEng As String) As Date
        Dim dat1, dat2
        dat1 = Split(dateEng, " ")
        dat2 = Split(dat1(0), "/")
        dateFr = DateSerial(dat2(2), dat2(0), dat2(1)) + TimeValue(dat1(1) & dat1(2))
    End Function

    https://www.cjoint.com/c/EDgvHvJSK0E

    eric

    0
  7. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Voilà une formule assez compliquée qui donne le résultat, colle cette formule en ligne 2

    =(STXT(A2;CHERCHE("/";A2)+1;CHERCHE("/";A2;CHERCHE("/";A2)+1)-CHERCHE("/";A2))&GAUCHE(A2;CHERCHE("/";A2))&STXT(A2;CHERCHE("/";A2;CHERCHE("/";A2)+1)+1;CHERCHE(" ";A2;CHERCHE("/";A2;CHERCHE("/";A2)+1)+1)-CHERCHE("/";A2;CHERCHE("/";A2)+1))&TEXTE(STXT(A2;CHERCHE(" ";A2)+1;CHERCHE(" ";A2;CHERCHE(" ";A2)+1)-CHERCHE(" ";A2)-1)*1+SI(DROITE(A2;NBCAR(A2)-CHERCHE(" ";A2;CHERCHE(" ";A2)+1))="PM";"12:00";"00:00")*1;"hh:mm"))*1

    formate la cellule avec ce format personnalisé aaaa/mm/jj hh:mm

    incrémente la cellule vers le bas
    0