Bonjour,

tout d'abord j'aime préciser que je travail sur deux documents un .xlsm qui contient un tableau et des fichiers .csv vers qui je souhaite insérer les lignes du tableau un par un
mon problème consiste à copier une ligne (à partir d'un fichier .xlsm) et la coller dans un fichier .csv via une macro

j'ai essayé avec cette macro mais ca endommage mon fichier .csv

la macro est la suivante :

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
34
35
36
37
38
39
40
41
42
43
Sub Macro3()
 
Application.ScreenUpdating = False
Rep = "C:\Users\toshiba\Desktop\Others\"
FichD = ActiveWorkbook.Name
FichTest = "TestExcel.csv"
 
 
 Workbooks.OpenText Filename:="C:\Users\toshiba\Desktop\Others\TestExcel.csv", StartRow:=1, _
    DataType:=xlDelimited, TextQualifier:=xlNone, ConsecutiveDelimiter _
        :=False, Semicolon:=True, DecimalSeparator:="."
 
Workbooks.Open Rep & FichTest
    Rows("1:1").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
 
  With Workbooks(FichD)
        .Sheets("TestExcel").Range("A1:F1").Copy
        Workbooks(FichTest).Sheets("TestExcel").Range("A1:G1").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
         Range("A1:F1").Select
    Selection.Copy
    Range("A1:F1").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A2:F2").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("A1:F1").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    ActiveWorkbook.Save
    ActiveWorkbook.Save
    ActiveWindow.Close
 
End With
End Sub
dans le la nouvelle ligne crée du fichier excel il ne prend pas en compte les séparateurs ";" mais il insère ","