Bonjour a tous,

La macro ci-dessous me permet d'enregistrer mes données en csv. :

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
Sub Culture_div()
'
' Ouvrir csv copier coller enregistrer fermer
'
sNomCultDiv = Sheets("Culture Diversifiée").Range("J1").Value & "_" & Sheets("Culture Diversifiée").Range("B1").Value & "_" & Sheets("Culture Diversifiée").Range("B2").Value
sNomCultDiv = Replace(sNomCultDiv, "/", "")
'
     Workbooks.Open Filename:= _
        "S:\Certipaq Bio\Système qualité\SC & SA Certipaq Bio\Projet\Utile pour macro csv\Convertir csv.csv"
    Windows(ThisWorkbook.Name).Activate
    Sheets("Culture diversifiée").Select
    Cells.Select
    Selection.Copy
    Windows("Convertir csv.csv").Activate
    ActiveSheet.Paste
    Application.CutCopyMode = False
    ActiveWorkbook.SaveAs Filename:= _
        ThisWorkbook.Path & "\" & sNomCultDiv & ".csv" _
        , FileFormat:=xlCSV, CreateBackup:=False
    ActiveWindow.Close
 
End Sub
Cependant le résultat obtenu en "manuel" (Fichier->enregistrer sous...->*.csv*->...) est différent qu'avec l'enregistreur de macro.

Quand je converti mon xlsm en csv avec la macro ci-dessus, toutes les données de la ligne A se mettent en A1 sur le csv (avec une virgule entre les données).

En revanche, quand je converti « manuellement » le xlsm en csv, j’ai bien chaque donnée dans sa cellule. C’est ce résultat que je souhaiterais obtenir avec la macro (un import sur base de données nécessite un format csv avec les infos dans chaque cellule).

Merci d'avance pour vos conseils