Bonjour,
D'avance, merci de votre aide car je sèche littéralement...
Voila, j'ai réussi grâce aux sujets antérieurement postés sur le forum à générer un fichier CSV à partir d'un fichier Texte contenant des données contiguës.
Voici le code que j'ai pu adapter :
À présent, je dois copier les colonnes (sans titre) du fichier .CSV généré pour les coller dans mon tableau courant. Je souhaitais donc développer une petite macro (grâce notamment à l'enregistreur de macros car je suis débutant) sauf que le résultat n'est pas au rendez-vous car toutes les données issues de mes différentes colonnes (issues je le rappelle du fichier CSV) atterrissent dans une seule et unique colonne de mon fichier courant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 Sub Importer() Dim I As Long Dim LigneLue As String, LigneÉcrite As String Dim TabloIntervalle 'tableau qui donne le numéro de départ des sections et leurs longueurs TabloIntervalle = Array(1, 10, 11, 5, 16, 6, 22, 15, 38, 28) 'si le fichier existe, on le supprime If Dir("Q:\Documents\PRO\STATS DP\resultat.csv") <> "" Then Kill "Q:\Documents\PRO\STATS DP\resultat.csv" 'Crée le fichier à écrire Open "Q:\Documents\PRO\STATS DP\resultat.csv" For Append As #1 'lecture du fichier original Open "Q:\Documents\PRO\STATS DP\JOUNPROD_STAT_TEST.txt" For Input As #2 Do Until EOF(2) LigneÉcrite = "" 'lecture ligne par ligne Line Input #2, LigneLue For I = 0 To UBound(TabloIntervalle) - 1 Step 2 LigneÉcrite = LigneÉcrite & Mid(LigneLue, TabloIntervalle(I), TabloIntervalle(I + 1)) & ";" Next 'écriture de chaque ligne transformée Print #1, LigneÉcrite Loop Close #1 Close #2 End Sub
Pis encore, l'exécution de cette macro entraîne la modification de mon fichier source...(CF pièces jointes).
Dans l'idéal voici ce que je souhaiterais :
1/ Invitation à sélectionner le fichier CSV dont je souhaite extraire les colonnes (A à E);
2/ Extraction des colonnes comportant des données ou pas (copier cellules vides aussi) ;
3/ Coller les colonnes dans mon fichier courant "ZA-STATS.xlsm" à partir de la cellule J2 et que chaque donnée séparée par un point virgule se range automatiquement dans les colonnes ad hoc ;
4/ Fermeture du fichier CSV source sans enregistrer
Voila je vous remercie d'avance de votre aide.
Linuxien
Partager