Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème format date lors d'import d'un txt (ou csv)

loic.salaun

XLDnaute Nouveau
Bonjour à tous,
Alors j'ai un humidimètre dont nous avons extrait les données. Mais problème lorsque j'importe dans excel toutes les dates ne sont pas reconnues de la même manière ... En effet nativement les dates sont en format américain (mm/jj/aa hh:mm:ss PM) et je parviens à remettre une partie en format ''classique'' jj:mm:aa hh:mm:ss. mais bizarrement une partie seulement ... c'est pourtant le même appareil, qui n'a subit aucune modification pendant la période, et dont le fichier est issu d'un seul export de données (j'ai en fait plusieurs fichiers, il y a plusieurs export de données (un par fichier) et sur chaque export je retrouve le même problème). Je pose le fichier en PJ, si quelqu'un a une solution ???
Globalement la date en américain je peux faire avec mais l'heure avec PM/AM c'est vraiment pas pratique ... ou au moins si excel pouvait me reconnaître tout de la même manière... Parce qu'en l'état impossible de faire une exploitation des données ...
Merci d'avance,
 

Pièces jointes

  • humidité pour envoi forum excel.txt
    838 bytes · Affichages: 16

loic.salaun

XLDnaute Nouveau
Ok, en tant qu'étudiant (reprise d'étude à 33 ans), j'ai droit le pack office gratuit... Je voulais pas l'installer pour rester avec ma licence (et puis pas de changement) mais bon si je suis je suis obligé ...
Encore merci,
 

chris

XLDnaute Barbatruc
Bonjour

On peux installer les dernières versions de PowerQuery sur 2010.

Sinon il faut, non pas ouvrir le fichier, mais l'importer et paramétrer l'import : onglet données.
 

chris

XLDnaute Barbatruc
RE

As-tu besoin de l'heure ?

En paramétrant l'import je récupère bien
#
Date
Heure
PM ou AM

3 colonnes de valeurs de teneur en eau

Soit on peut ne pas importer les deux colonnes pour l'heure,
soit il faut retraiter par une nouvelle colonne



Edit : la dernière version pour 2010 est 2.59.5135.201 de juillet 2018
 
Dernière édition:

loic.salaun

XLDnaute Nouveau
Bonjour,
A priori, oui j'ai besoin de l'heure, enfin j'ai besoin qu'excel range les données dans le bon ordre pour faire des graphes. Et je peux avoir beaucoup de données le même jour (une donnée = 1 mm de pluie). Mais si je n'y arrive pas je ferai uniquement des cumuls journalier.
Mais je regarde aujourd'hui avec power query...
Merci pour votre aide.
 

chris

XLDnaute Barbatruc
RE

Comme dit on peut rajouter une colonne formulée comme sur ma copie d'écran (en bleue) car le paramétrage correct de l'import fonctionne à part le découpage de l'heure...
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,
Bonjour @chris,

Comme je suis sous xl 2010 je l'ai fait à l'ancienne (Remplacer 'CHEMIN_VERS_LE_FICHIER' par le Chemin du fichier')
Les lignes de conversion des dates sont en fin de macro.
VB:
Sub importer()
    Dim c As Range
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;CHEMIN_VERS_LE_FICHIER\humidité pour envoi forum excel.txt", _
        Destination:=Range("$A$1"))
        .Name = "humidité pour envoi forum excel"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 65001
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 4, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    For Each c In Range("A1").CurrentRegion.Columns(2).Cells
        If TypeName(c.Value2) = "String" And IsDate(c.Value2) Then
            c.Value = CDate(c.Value2)
        End If
    Next
End Sub

Bonne fin d'après-midi
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…