Récupérer des données de cellules dans plusieurs fichiers

Bonjour, désolé si ce post existe déjà mais je n'ai rien trouvé qui corresponde exactement à ma demande

J'ai 6500 fichiers identifiés sous un format ".csv" et qui correspondent à des données brutes tirées d'une presse. Un fichier correspond à une frappe, on veut établir un suivi sur des tournées de travail, ce qui explique le nombre (une frappe toute les 7 secondes, un fichier *.csv généré toutes les 7 secondes).

J'aurais besoin de compiler ces données sur une courbe avec 3 cellules : la DATE, l'HEURE et la force de la frappe.

Dans mon cas, les cellules :

  • B11 (date sur ce format 29/03/2022)
  • B12 (heure sur ce format 14:30:03)
  • E38 (force en tonne appliquée : 730,2)

Existe il un moyen sur un fichier d'aller chercher toutes ces données dans les différents fichiers et en faire 3 colonnes par exemple ?

Merci par avance de votre réponse et vos retours, n'hésitez pas si je ne suis pas clair :)

Jeremy.

Bonsoir Jeremy, quand vous parlez de 65000 fichiers, c'est 65000 "txt" différents ou ce sont 65000 entrées dans un même fichier ?

Hello Jmber1972,

il s'agit bien de 6 500 fichiers "Part_maXYmos_A5_MP-000_2022-03-29_14-30-03__OK.csv" qui s'incrémentent au niveau de la date et de l'heure dans le nom du fichier.

image

Les données sont de ce type ('en surbrillance les cellules qui m'intéressent) : 1 fichier = 3 données différentes

image

Cordialement,

Jeremy.

Y-a-t-il une possibilité d'ajouter quelque (5?) de ces CSV-files ici ? (ni l'image)

Bonjour et bienvenue,
Pour une aide adaptée, comme demandé par BsAlv, joins 1 ou 2 fichiers csv.
Tu peux cependant commencer à regarder à traiter tes données avec Power Query (intégré à Excel 365 et +).
Cdlt.

bonjour,

pour commencer ...

Public Const sNom = "Part_maXYmos_A5_MP-000_"

Sub ImportCSV()
     Dim sFile, Dict, WB

     Application.ScreenUpdating = False
     Set Dict = CreateObject("scripting.dictionary")

     sFile = Dir(ThisWorkbook.Path & "\" & sNom & "*.csv")     'les CSV-files et ce fichier sont dans le meme directory !!!
     Do While Len(sFile) > 0     'boucles tous les fichiers parreils
          i = i + 1     'nombre de fichiers
          If i Mod 5 = 0 Then Application.StatusBar = Format(i, "#,###") & "    " & sFile: DoEvents     'progrès sur le statusbar
          Set WB = Nothing
          Set WB = Workbooks.Open(ThisWorkbook.Path & "\" & sFile)     'open CSV-file
          Dict.Add Dict.Count, Array(sFile, Range("B11").Value2, Range("B12").Value2, Range("E38").Value2)     '3 paramètres de ce fichier
          WB.Close 0     'close sans sauvegarder
          strFile = Dir     'prochain fichier
     Loop

     Application.StatusBar = ""     'vider statusbar

     Application.ScreenUpdating = True
     If Dict.Count Then
          If Dict.Count = 1 Then Dict.Add Dict.Count, Array("", "", "", "")     'problème avec seulement un record, ajouter un dummy vide (autrement un 1D-array au lieu d'un 2D !!! )
          a = Application.Index(Dict.items, 0, 0)     'lire dictionary > array
          Sheets("Feuil1").ListObjects("TBL_MaXYmos").ListRows.Add.Range.Range("A1").Resize(UBound(a), UBound(a, 2)).Value = a     'ajouter array to tableau
     End If

End Sub

mais la méthode @Jean-Eric avec PowerQuery est peut-être plus pratique. (dépend de votre version 2204 FR ???)

@Jean Eric et BsAlv, merci je vais regarder avec Power Query.

Cdlt.

appuyer le bouton vert. (après avoir sauvegarder le fichier dans le meme directory des files CSV)

3tbl-maxymos.xlsm (33.38 Ko)

@BsAlv, est ce que j'ai pas activé un truc sur mon excel ?

J'ai recopié le fichier dans la directory, rajouter une quinzaine de fichiers csv sur le même principe de nom mais rien ne se rajoute ?

Merci :)

Bonjour à tous,

Une approche via Power Query.

Un tableau est retourné après mise à jour du répertoire.

Je vous laisse le soin d’œuvrer pour le graphique.

@JFL, merci je regarde ça cet am.

bonne journée

il ne se passe rien, l'écran ne bouge pas, aucun message d'erreur ?

Et si vous faites ALT+F8, puis selectionnez "ImportCSV" et executer.

La solution avec Power Query sera peut-être plus élégante.

Re,
Bonjour JFL,
Une autre proposition Power Query.
Cela, malgré le vote négatif que tu m'as attribué !
Cdlt.

5jeremyg.zip (20.49 Ko)

Bonjour de nouveau,

@ Jean-Eric : Fonction fnImportCSV : Bel apprentissage pour moi ! Merci merci !

Hello Jean Eric,

Re,

Bonjour JFL,
Une autre proposition Power Query.
Cela, malgré le vote négatif que tu m'as attribué !
Cdlt.

C'est vraiment une fausse manip ... je cherchais le bouton "répondre" et je viens de comprendre que j'avais attribué un vote par mégarde ... Désolé

Rechercher des sujets similaires à "recuperer donnees fichiers"