Bonjour tout le monde,
J'ai un résultat qui s'affiche dans la colonne D2 jusqu'à D & DerniereLigne
J'aimerais copié le résultat de cette colonne dans un nouveau fichier CSV
Ce qui est important ici, c'est que chacune des entrées doit avoir un LF (pour Line Feed) à la fin !
Voici mon code:
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 Option Explicit Option Private Module Sub Create_Clean_Doublons_File_csv() Dim fichier_final As String, DataLine As String, NameJourCour As String, _ DayTemp As String, Ext As String, JrCourant As String Dim x1 As Long Dim Plage As Object Dim DerniereLigne As Integer Ext = ".csv" DayTemp = Now() NameJourCour = "r" & Format(DayTemp, "ddmmyy") & Ext x1 = FreeFile 'La fonction FreeFile sert à créer un descripteur de fichier libre et valide. Ce descripteur est passé comme paramètre à l'instruction Open, qui ouvre le fichier fichier_final = RepRet & NameJourCour 'Le nom du fichier où doit être compiler toutes les données ActiveSheet.Range("$D$1:$D$300").RemoveDuplicates Columns:=1, Header:=xlYes 'Filtrage et suppression des doublons de la colonne D DerniereLigne = Range("D" & Rows.Count).End(xlUp).Row 'Passez le curseur sur dernièreLigne pour en lire la valeur DerniereLigne = DerniereLigne - 1 Open fichier_final For Output As #x1 Set Plage = ActiveSheet.Range("D2:D" & DerniereLigne) Plage.Copy DataLine = Plage.Copy If Len(DataLine) > 0 Then Print #x1, DataLine; 'On inscrit la ligne dans le fichier_final si elle contient quelque chose et on ne veut pas une ligne vide entre chaque fichier avec l'ajout du ; après DataLine End If Close #x1 'Fermeture du fichier en input afin de passer au suivant s'il y a End Sub
Jusqu'à maintenant la chose chose qui fait, c'est de mettre la valeur "vrai" dans le fichier au lieu du résultat de D2 à D6 dans ce cas-ci.
Il me manque la dernière touche finale..
Merci de votre aide.
Partager