Bonjour,
J'essai d'enregistrer une fichier en CSV via une macro qui réalise une série d'action sur un fichier excel de 500 000 ligne.
Dans les paramètres régionaux le caractère de séparation est bien le ; mais quand j'enregistre avec la macro j'ai automatiquement des virgules. quand j'enregistre en manuel j'ai bien les ;
J'ai donc utilisé un autre bout de code pour avoir des ";" là je n'ai pas de problème au niveau des points virgules par contre j'ai des champs code postaux que je passe sur 5 chiffre avec la fonction NumberFormat = "00000" quand je l'enregistre avec la première méthode pas de problème mais avec la deuxième ça ne tiens pas compte du NumberFormat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ActiveWorkbook.Sheets("test").Copy ActiveSheet.SaveAs Filename:="C:\Users\blabla\Documents\referentielProducteurs-" + date_du_jour + "-01.csv", FileFormat:=xlCSVMSDOS, CreateBackup:=True, Local:=True ActiveSheet.Parent.Close savechanges:=False
que faire?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Const strSéparateur As String = ";" f = FreeFile Tableau = ActiveWorkbook.Sheets("test").UsedRange Open "C:\Users\blabla\Documents\referentielProducteurs-" + date_du_jour + "-03.csv" For Output As #f For i = LBound(Tableau, 1) To UBound(Tableau, 1) ligne = Tableau(i, LBound(Tableau, 2)) For j = LBound(Tableau, 2) + 1 To UBound(Tableau, 2) ligne = ligne & strSéparateur & Tableau(i, j) Next Print #f, ligne Next Close f![]()
Partager