Microsoft 365 Convertir du texte en format date

  • Initiateur de la discussion Initiateur de la discussion Elfinols
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Elfinols

XLDnaute Nouveau
Bonjour à tous,
Je récupère des logs d'une machine, fichier csv. J'ai une colonne qui représente des dates mais sous forme de texte (enfin je pense) que je souhaite mettre en date afin de pouvoir trier par ordre chronologique.
Comme vous pourrez voir dans le fichier joint les date sont au format :
Mois/jour/année heure:minute:seconde AM ou PM
Et ce qui est rigolo c'est que les mois et jours peuvent être sur 1 ou 2 digits et les heures au format anglais ...

Voilà, je suis preneur de toute solution, formules ou macro.
Merci à vous.
 

Pièces jointes

Solution
RE à tous

Avec 2013 :
Données, A partir de texte, sélectionner le fichier puis choisir largeur fixe.
A l'étape 3 de l'import déclarer le format date en MJA

On obtient une colonne date et une colonne heure que l'on peut additionner pour retrouver les 2 infos dans une colonne unique si nécessaire.
ExitTime.jpg
Merci, mais en fait je m'aperçois que ce n'est pas Excel 365 que j'ai au boulot mais Excel 2013 avec un compte 365 ... c'est pas pareil ... donc je n'ai pas onglet Données, Récupérer et transformer.
Si vous connaissez pour Excel 2013 ?
 
Bonjour,

Je ne me suis pas amusé à faire les heures, mais je pense que ceci fonctionne pour la partie date.
Tu peux appliquer le même principe avec les heures si cela est utile pour toi.

Dans ma formule ta date issue de csv est en cellule A1.

Ce n'est probablement pas "optimal" mais cela fonctionne chez moi...

Bon courage,

La fameuse :
=DATE(STXT(A1;TROUVE(" ";A1;4)-2;2)&"20";GAUCHE(A1;TROUVE("/";A1;1)-1);STXT(A1;TROUVE("/";A1;1)+1;TROUVE("/";A1;1+TROUVE("/";A1;1))-TROUVE("/";A1;1)-1))
 
Bonjour Elfinols, chris, Arthur931,

Pour convertir les données vous pouvez utiliser cette macro :
VB:
Sub Convertir()
Dim tablo, i&, t, s
With Feuil1 'CodeName, à adapter
    tablo = .[A1].CurrentRegion.Resize(, 2) 'matrice, plus rapide, au moins 2 éléments
    For i = 1 To UBound(tablo)
        t = Trim(Replace(Replace(t, "AM", ""), "PM", ""))
        s = Split(t, "/")
        If UBound(s) = 2 Then t = s(1) & "/" & s(0) & "/" & s(2)
        If IsDate(t) Then tablo(i, 1) = CDate(t)
    Next
    '---restitution---
    If .FilterMode Then .ShowAllData 'si la feuille est filtrée
    .[A1].Resize(UBound(tablo)) = tablo
End With
End Sub
A+
 

Pièces jointes

RE à tous

Avec 2013 :
Données, A partir de texte, sélectionner le fichier puis choisir largeur fixe.
A l'étape 3 de l'import déclarer le format date en MJA

On obtient une colonne date et une colonne heure que l'on peut additionner pour retrouver les 2 infos dans une colonne unique si nécessaire.
ExitTime.jpg
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
36
Affichages
3 K
Réponses
6
Affichages
761
Retour