Macro concaténation de fichiers
Salut à tous et à toutes !
Je vous expose mon problème : J'ai une multitude de fichiers .csv (un peu plus de 2500), et ils sont nommés de la manière suivante (sur 3 années différentes):
Tss_data0102130800.csv
Tss_data0102130856.csv
Tss_data0506131625.csv
Les 6 premiers chiffres déterminent la date (JJMMAA) et les 4 derniers l'heure.
Voilà, ce que je voudrais c'est de trouver une solution afin de concaténer par jour. C'est à dire qu'au lieu d'avoir 3-4 fichiers par jour, je n'en aurai plus qu'un seul. J'ai pensé à une macro qui pourrait, par exemple, ne prendre en compte que les 14 premiers caractères (Tss_dataJJMMAA) des noms de fichiers, et concaténer les fichiers identiques. Néanmoins, je n'ai aucune idée de comment réaliser cette macro.
Merci d'avance pour votre aide et conseil.
Bonne journée à tous et à toutes !
Bonjour!
J'ai eu besoin de faire cela sur les données d'une feuille d'un fichier excel et non pas sur une multitude de fichier excel.
Cependant, je peux te dire comment j'ai fais sur ma feuille de calcul et peut-être que tu pourras l'adapter à ton problème.
DernLigne = Range("A" & Rows.Count).End(xlUp).Row ' là tu définies ta dernière ligne
Range("I2").FormulaR1C1 = _
"=LEFT(RC[-3],10)" ' là tu écris dans I2 les 10 premiers caractères de la 3ème colonne avant I2
Range("I2").AutoFill Destination:=Range("I2:I" & DernLigne) ' là tu étire ta formule jusqu'a la dernière ligne Voilà, encore une fois tu dois l'adapter à ton cas étant donné que tu n'a pas des données d'une feuille de calcul mais tout un panel de fichiers.
Pour ce qui est de la concaténation des fichiers identiques, je ne sais pas comment tu peux faire.
J'espère avoir pu t'aider un peu.
Amicalement
Florian
Merci de ta réponse Floriangtr, beaucoup de chose différe avec ce que tu as du réaliser. Mes fichiers csv ne s'étende que sur une colonne..
J'ai rajouté en pièce jointe a mon fichier initiale servant d'exemple de fichiers dont je dispose.
Salut,
Voilà j'ai un gros début de solution à mon problème. J'ai eu une maccro (pièce jointe) permettant de réalisé ce dont j'ai besoin. Mais j'ai une erreur qui persiste :
Erreur d'exécution '13' Incompatibilité de type
L'erreur semble être à la ligne suivante :
Columns("A:" & LettreColMax).Columns.AutoFit
Private Sub MepFeuilles()
Dim Ws As Worksheet
For Each Ws In ThisWorkbook.Worksheets
If (Ws.Name <> ShParam.Name) And (Ws.Name Like sNomFeuillesDatas & "*") Then
With Ws
.Activate
.Tab.ColorIndex = 19
.Columns("A:" & LettreColMax).Columns.AutoFit
.Range("A1").Select
End With
End If
Next Ws
End SubJe suppose que cette erreur est une erreur de variable mais je ne trouve pas dans le code d'où cela provient, si vous auriez une piste ou quelque chose qui pourait m'aider ce serait cool !!
Merci d'avance pour votre aide,
Cordialement.